@result标签 type设置为redirect 导致action各属性无法传给前台表单

在开发页面跳转过程中,将@result中的type值写成了redirect,导致跳转的页面都无法获取到该action中的所有变量。后将此值改为dispatcher就OK了。


以下内容为转载:


dispatcher:用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存在。


redirect:可用于返回一个页面、一个action、链接到一个网址。
       缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。


chain:功能与redirect的action转发类似,不过与redirectaction转发功能不同的是它可以将Action中的数据一直保存在同一个HTTP请求中。


猜你喜欢

转载自blog.csdn.net/apacheuk/article/details/78630644
今日推荐