手动清除ActionForm

最近写了个书店的程序,后台分页中的上一页,下一页等都用的是按钮,写了好多JS代码,弄的很晕,在BookManager

 

层中,为了方便搜索,把分页搜索的方法写成了这样

* keyword 表示搜索关键字
* bookCategoryId 表示图书分类ID
* pageNo 当前页
* pageSize 页面大小
*/
public list getPageBooks(String keyword ,int bookCategoryId,int pageNo,int pageSize){}

 

由于在添加,修改的时候用到了bookCategoryId的参数,所以每次添加或是更新图书之后调用上面的方法时使得

 

ActionForm中的bookCategoryId都有值,所以分页显示的不是所有图书,而是分类的图书,很郁闷,后来在网上查查

 

问题,才发现原来在配置struts-config.xml中的action里有项是scope,用来设置ActionForm的生命周期,包括request

 

与session两个值,系统默认是session。于是我显示的设置了scope=“request”,这样就可以显示全部图书了。呵呵,

 

原来学struts时没注意这知识点,后悔啊 ,以后注意。

 

同时在网上找到了一个手动清除ActionForm的代码,一下贴出来与大家分享

 

//清除ActionForm
if (mapping.getAttribute() != null) {
    if ("request".equals(mapping.getScope())) {
        request.removeAttribute(mapping.getAttribute());
    }else {
        HttpSession session = request.getSession();
        session.removeAttribute(mapping.getAttribute());
   }
}

  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值