struts2的action中默认不会初始化属性,也不会实例化属性
编写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传值方式。
?
?
?