日期:2014-05-17  浏览次数:20830 次

struts2 hibernate 分页问题
先吐槽一下 刚刚复制了一段代码网页直接崩溃,楼主辛苦的描述得重写

最近按照视频教学做了一个简单的struts2 hibernate小练习
用户注册 查看所有用户 删、改单个用户  也就是增删改查了

我想在查询出来的结果上加个分页功能,试了几个小时,一直失败,求大神指点

原来的com.xxx.model只有一个Person  几个属性
我按照书上jsp+hibernate分页的例子 加了个PageModel 
private int currPage;
private int totalRecords;
private List<Person> list;
private int pageSize;
把以前返回的list放在这个里面 想返回pageModel对象 然后再获得里面的list 从而达到和以前一样的jsp页面效果,但中间代码写的应该问题很大,新手求大神帮帮忙-----

之前的PersonAction (自认为不重要的部分省略,这里我只列出了一个方法(增,)里面包含了查,)
private int id;
private String username;
private String password;
private int age;
public String savePerson()throws Exception{
Person person =new Person();
person.setUsername(username);
person.setPassword(password);
person.setAge(age);
java.sql.Date registerDate=new java.sql.Date(new java.util.Date().getTime());
person.setRegisterDate(registerDate);
   //把页面的值放到person里面

PersonService personService=new PersonServiceImpl();
personService.savePerson(person);
//通过PersonService借口实例化一个对象把person对象的值存入数据库
List<Person> list=personService.listAllPersons();//把值放入list中
HttpServletRequest request=ServletActionContext.getRequest();
request.setAttribute("list", list);//把list的值传到request中
return SUCCESS;
}

我自己乱改后的代码
Person person = new Person();
person.setUsername(username);
person.setPassword(password);
person.setAge(age);
java.sql.Date registerDate = new java.sql.Date(
new java.util.Date().getTime());
person.setRegisterDate(registerDate);
// 把页面的值放到person里面

PersonService personService = new PersonServiceImpl();
personService.savePerson(person);
// 通过PersonService借口实例化一个对象把person对象的值存入数据库
HttpServletRequest request = ServletActionContext.getRequest();

String page = request.getParameter("currPage");
int currPage = 1;
int pageSize = 5;
if (page != null) {
currPage = Integer.parseInt(page);
}
PageModel pageModel = personService.findPaging(currPage, pageSize);
request.setAttribute("pageModel", pageModel);// 把list的值传到request中

return SUCCESS;


jsp页面原来的代码
 <table width="80%" align="center" border="1">
 <tr>
 <th>username</th>
 <th>password</th>
 <th>age</th>
 <th>registerDate</th>
 <th>update</th>
 <th>delete</th>
 </tr>
 
 
 <!-- #request.list是ognl写法 ,获取request里面的”list”-->
 <s:iterator value="#request.list" id="person">   <!-- 当前迭代的person对象 -->
 <tr>
 <!-- 自动通过get set方法获得值 -->
 <td>
 <!-- 取出当前person对象的id ognl表达式写法-->
 <s:a href="getSinglePerson.action?id=%{#person.id}"> <s:property value="username"/></s:a>
 </td>
  <td>
  <s:property value="password"/>
 </td>
  <td>
  <s:property value="age"/>
 &l