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传值方式。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值