刚刚发了一个几百行的代码,可能不会有结局了,看题说话,写了一个分页查询,以下所有的变量全部省略get和set方法
ActionSupport里代码
private int pageNow=1;
private int pageSize=3;
private int PageCount;
public String Login()throws Exception {

 Update u=new  Update();
 PageCount=u.Count();//得到总的
 HttpServletRequest request=ServletActionContext.getRequest();
 String pagenow= request.getParameter("pageNow");

 if(pagenow!=null){
 pageNow=Integer.parseInt(pagenow);

  }
 list=u.find(pageNow,pageSize);//看见List里吧,分页查询

 ActionContext.getContext().getSession().put("uname", uname);
 if(u.Login(uname, password)){
 return SUCCESS;
 }return INPUT;
java代码
private int pageSize=3;
private int PageCount;
public   List find(int pageNow,int pageSize){//分页
Configuration c=new Configuration();
c.configure();
SessionFactory f=c.buildSessionFactory();
Session session=f.getCurrentSession();
@SuppressWarnings("unused")
Transaction r=session.beginTransaction();
List list= session.createQuery("from People").setFirstResult((pageNow-1)*pageSize).setMaxResults(pageSize).list();
session.close();
return list;
public int Count(){//总的
try{
ct=new ConnOB().getconn();
ps=ct.prepareStatement("select count(*) from People");
rs=ps.executeQuery();
if(rs.next()){
rowCount=rs.getInt(1);

}if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
}catch(Exception e){
e.printStackTrace();
}return pageCount;
}
Wel.jsp
<s:iterator>
<table>
<tr><th>用户名</th><th>密码</th><th>再次密码</th><th>删除</th><th>修改</th></tr>
<tr><td><s:property value="uname"/></td><td><s:property value="password"/></td><td><s:property value="repassword"/></td><td><s:a href="%{url}">删除</s:a></td><td><s:a href="%{ul}">编辑</s:a></td></tr>
</s:iterator>
</table><s:url value="Login" id="u">
<s:param name="pageNow" value="1"></s:param>
</s:url>
<s:url action="Login" id="w">
<s:param name="pageNow" value="pageNow-1"></s:param>
</s:url>
<s:url action="Login" id="e">
<s:param name="pageNow" value="pageNow+1"></s:param>
</s:url>
<s:url id="l" action="Login">
<s:param name="pageNow" value="PageCount"></s:param>
</s:url>
<s:a href="%{u}">首页</s:a>
<s:a href="%{i}"></s:a>
<s:if test="pageNow!=1">
<s:a href="%{w}">上一页</s:a>
 </s:if>
 <s:iterator value="list" status="status">
  <s:url id="uul" action="Login">
  <s:param name="pageNow" value="pageNow"/>
  <s:param name="PageCount" value="PageCount"></s:param>
  </s:url>
  </s:iterator>
<s:if test="pageNow!=PageCount">
<s:a href="%{e}">下一页</s:a>
</s:if>
<s:a href="%{l}">末页</s:a>
</body>
struts.xml
<action name="Login" class="com.SH2.Person" method="Login">
<result name="success">/Wel.jsp</result>
<result name="input">/Fail.jsp</result>
</action>

解决方案 »

  1.   

    忘记说了,上面的代码只能显示第1页,第二页不能显示,但是显示第2页的sql语句能够发出,
    select top 6 people0_.ID_ as ID1_8_, people0_.uname as uname8_, people0_.password as password8_, people0_.repassword as repassword8_ from People people0_
    这是为什么,求解本人新手
      

  2.   

    因为你第二页没有 第一页查询时从form 或链接接收过来的参数!