`
conrol
  • 浏览: 23444 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

手动清除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());
   }
}

  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics