java struts2作用域,struts2和过滤器中作用域有关问题

struts2和过滤器中作用域问题!

我有个过滤器,先经过一个过滤器后在执行struts2的一个action。现在action中的每个方法都要request.setAttribute("paging", paging ); 这样重复很麻烦,我想把这句话放到过滤器中即:

过滤器中:

public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain chain) throws IOException, ServletException {

HttpServletRequest request=(HttpServletRequest) arg0;

//过滤器前一些操作

chain.doFilter(arg0, arg1);

//等执行完成后  我去一个工具类获取事先准备好的分页类

Paging paging= SysThreadLocal.getPageClazz();

//然后放到作用域。

request.setAttribute("paging", paging );

}

这样的话我的action的每个方法中就不用再

Paging paging= SysThreadLocal.getPageClazz();

request.setAttribute("paging", paging );

但是为什么这样页面得不到这个作用域的值!

如果我把

Paging paging= SysThreadLocal.getPageClazz();

request.setAttribute("paging", paging );

放到action的每个方法中,页面就可以获取到!

这个是为什么啊!???

如果过滤中用session 作用域,当然页面是可以获取到的,目前是在request中页面获取不到值

过滤器action struts2

分享到:

更多

------解决方案--------------------

public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain chain) throws IOException, ServletException {

HttpServletRequest request=(HttpServletRequest) arg0;

//等执行完成后  我去一个工具类获取事先准备好的分页类

Paging paging= SysThreadLocal.getPageClazz();

//然后放到作用域。

request.setAttribute("paging", paging );

//过滤器前一些操作

chain.doFilter(arg0, arg1);

}

要不要试试反写?我总觉得你过滤完以后action就直接跳转页面了  你后面的代码就不执行了 也不知道对不对

------解决方案--------------------

引用:Quote: 引用:Quote: 引用:Quote: 引用:public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain chain) throws IOException, ServletException {

HttpServletRequest request=(HttpServletRequest) arg0;

//等执行完成后  我去一个工具类获取事先准备好的分页类

Paging paging= SysThreadLocal.getPageClazz();

//然后放到作用域。

request.setAttribute("paging", paging );

//过滤器前一些操作

chain.doFilter(arg0, arg1);

}

要不要试试反写?我总觉得你过滤完以后action就直接跳转页面了  你后面的代码就不执行了 也不知道对不对

chain.doFilter(arg0, arg1);

这句话执行后才执行的action里面的方法,如果放到  chain.doFilter(arg0, arg1);

之前,也就是说还没有执行action,那么分页类也会是一个空,因为分页的数据是action 调service调dao最后算出来的!

但是   chain.doFilter(arg0, arg1); 已经是拦截执行完毕 进行下一页正常跳转 跳入了你的action,那么你的request不写在前面怎么用?要不就提出个baseaction  每次在action里调用吧。 理解不是太好

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值