struts2+hibernate(*)分页查询

ld191474639 2011-09-24 08:38:49
刚刚发了一个几百行的代码,可能不会有结局了,看题说话,写了一个分页查询,以下所有的变量全部省略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>
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
arameter 2011-10-19
  • 打赏
  • 举报
回复
setFirstResult和setMaxResults
jis1208 2011-10-18
  • 打赏
  • 举报
回复
因为你第二页没有 第一页查询时从form 或链接接收过来的参数!
ld191474639 2011-09-24
  • 打赏
  • 举报
回复
忘记说了,上面的代码只能显示第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_
这是为什么,求解本人新手

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧