编写jdbc分页时易出现的马虎。
public String getMessageMethod() {
// struts2 通过默认set get 传过来数值 默认情况下,页面传值到action时候已经将Page 初始化,此处
// 如再加 = new Page(); 将覆盖 页面传来的数值。
//但是如果一开始就初始化Page 之后set get 没问题。
// page = new Page();
//struts2 默认不会初始化类
// int currentPage = 0;
// try{
// currentPage = new Integer(ServletActionContext.getRequest().getParameter("page.currPageNum"));
// }catch(Exception e){
// currentPage=1;
// }
// try {
// page.getCurrPageNum();
// System.out.println(page.getCurrPageNum());
// } catch (NullPointerException e) {
// // TODO Auto-generated catch block
// System.out.println("处理异常,网页上仍然报空指针错误");
// }
// 读取src/jdbc.properties中定义的pageSize
int pageSize = Integer.parseInt((String) (ReaderProperty
.getReaderProperty().get("pageSize")));
page.setPageSize(pageSize);
// 初始化page对象相关信息
page.init("guestbook", "id", pageSize,page.getCurrPageNum(), "", "asc");
// 查询用户信息
// 将相应信息放入request中
list = bizintf.getAllMessage(page.getSQL());
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getId());
}
return SUCCESS;
}
如果在action中直接private Page page ;在方法中System.out.println(page.getCurrPageNum());
会出现空指针错误。
如果在action中直接private Page page = new Page(); 则正常。
如果查询数据库里全部信息并分页,此时可以有两种方案,
1、
int currentPage = 0;
// try{
// currentPage = new Integer(ServletActionContext.getRequest().getParameter("page.currPageNum"));
// }catch(Exception e){
// currentPage=1;
// }
2、就是刚才用的struts传值方式。