struts2中redirect和redirectAction chain的区别是什么?
首先 redirect:标准的重定向,用于在某一个action处理结束后,重定向到新的 jsp(视图),重定向和转发的区别,这里一个明显的表象就是会丢失值栈范围内的所有携带参数,相当于浏览器重新请求了一个新的视图,URL也会显示请求的页面视图地址(Address);
redirectAction:顾名思义,redirect 用于普通的转向到某一视图,redirectAction 即用来重定向到新的 action ,当然具备了重定向的特征,所以不再详细介绍,但是给您一个例子,如果重定向到页面:type="redirect",location="/index.jsp" 重定向到 action(加入此处重定向到 query.action) type="redirectAction",location="query",如此即是两种重定向方式的写法;
chain:类似于dispatcher 一样,dispatcher是action默认的转向方式,即转发请求到一个新的视图,然而chain即将转发请求到一个新的action中,转发时同样保留转发形式的特征,保持请求参数,以及URL栏中的地址即是第一次请求的路径,写法和redirect 、redirectAction相似;
2023-07-25 广告
对于您提问的三种参数类型,下面我进行粗略的回答,当然您应该就会理解了。
首先 redirect:标准的重定向,用于在某一个 action 处理结束后,重定向到新的 jsp(视图),重定向和转发的区别,这里一个明显的表象就是会丢失值栈范围内的所有携带参数,相当于浏览器重新请求了一个新的视图,URL 也会显示请求的页面视图地址(Address);
redirectAction:顾名思义,redirect 用于普通的转向到某一视图,redirectAction 即用来重定向到新的 action ,当然具备了重定向的特征,所以不再详细介绍,但是给您一个例子,如果重定向到页面:type="redirect",location="/index.jsp" 重定向到 action(加入此处重定向到 query.action) type="redirectAction",location="query",如此即是两种重定向方式的写法;
chain:类似于dispatcher 一样,dispatcher 是 action 默认的转向方式,即转发请求到一个新的视图,然而 chain 即将转发请求到一个新的 action 中,转发时同样保留转发形式的特征,保持请求参数,以及 URL 栏中的地址即是第一次请求的路径,写法和 redirect 、redirectAction 相似;