首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

pager-taglib分页 求救!解决方案

2012-01-05 
pager-taglib分页 求救!!!用pager-taglib 做jsp分页,在第一次收到从action来的结果集,正常。换页后就不显示

pager-taglib分页 求救!!!
用pager-taglib 做jsp分页,在第一次收到从action来的结果集,正常。换页后就不显示了,应该是结果集超出了范围,不知为什么?请教各位,先谢谢了。
相关代码片断如下:

action里传结果集的:
Session session = SessionFactory.getSession();
Transaction tx = session.beginTransaction();
Query q = session.createQuery("from Student as s where s.name='"
+ csForm.getSname() + "'" + " and s.entertime >= "+ dtime + " and s.entertime <= " + ntime);
List lq = q.list();
if(lq.isEmpty()){
errors.add("error.findnull", new ActionError("error.findnull"));
saveErrors(request, errors);
return mapping.findForward("error");
}
request.setAttribute("sid", sid);
request.setAttribute("SLIST", lq);//重点在这儿

return new ActionForward("/list.jsp");

jsp部分:



<pg:pager url="slist.do" maxPageItems="4" maxIndexPages="3"
  export="currentPageNumber=pageNumber" >
<table width="95%" cellspacing="1" cellpadding="0" align="center">
<tr class="tdheader">
<th width="10%" align="center">&nbsp;
</th>

<th width="10%" align="center">
学号
</th>
<th width="10%" align="center">
姓名
</th>
<th width="10%" align="center">
性别
</th>
<th width="10%" align="center">
年龄
</th>
<th width="10%" align="center">
所在班级
</th>
<th width="10%" align="center">
入学时间
</th>
<th width="15%" align="center">
家庭住址
</th>
<th width="15%" align="center">
联系电话
</th>
</tr>
<c:forEach var='sd' items="${SLIST}">
<pg:item>

<tr>
<td width="10%">&nbsp;
</td>

<td width="10%">
<font color="#008200"><c:out value='${sd.studentnumber}' /> </font>
</td>
<td width="10%">
<font color="#008200"><c:out value='${sd.name}' /> </font>
</td>
<td width="10%">
<font color="#008200"> <c:out value='${sd.sex}' /></font>
</td>
<td width="10%">
<font color="#008200"><c:out value='${sd.age}' /> </font>
</td>
<td width="10%">
<font color="#008200"><c:out value='${sd.studentclass}' /> </font>
</td>
<td width="10%">
<%
/*
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sd.getEntertime();
String ss ="";
if(null != d){
StringBuffer sb = new StringBuffer();
sdf.format(d,sb,new FieldPosition(0));
ss =(sb.toString());
}
*/

%>
<font color="#008200">&nbsp; </font>
</td>
<td width="15%">
<font color="#008200"><c:out value='${sd.address}' /> </font>
</td>
<td width="15%">
<font color="#008200"><c:out value='${sd.telephone}' /></font>


</td>



</tr>
</pg:item>

</c:forEach>
</table>
<TABLE width="80%" border="0">
<TR><TD>&nbsp;</TD></TR>
<TR align="center">
<TD>
<pg:index>

<pg:prev><a href="<%= pageUrl%>">[&lt;&lt;Prev]</a></pg:prev>

<pg:pages><a href="<%= pageUrl %>"><%= pageNumber %></a></pg:pages>

<pg:next><a href="<%= pageUrl%>">[Next&gt;&gt;]</a></pg:next>

</pg:index>
</TD>
</TR>
<TR><TD>&nbsp;</TD></TR>
</TABLE>
</pg:pager>



其中slist.do 在structs-config.xml中

<action path="/slist"
parameter="/list.jsp"
type="org.apache.struts.actions.ForwardAction" />


[解决办法]
pager-taglib 没用过,用过display tag,也出现过这种情况。应该是得到的list的问题,你把list的大小打出来看看呀

热点排行