struts2 结果类型的作用 type & 防止表单重复提交
2011-05-16 19:36
253 查看
实际上在Struts2框架中,一个完整的结果视图配置文件应该是:
常用的有3种:
请求转发只能请求转发至同一个web应用。
利用请求转发浏览器地址栏不会发生变化。
利用请求转发调用者与被调用者之间共享相同的request对象和response对象,他们属于同一个访问请求和响应。
重定向的访问结束后,浏览器的地址栏中显示URL变化。
重定向的调用者与被调用者使用各自的的request对象和response对象,他们属于两个独立的访问请求和响应过程。
重定向之后会丢失前一次访问的数据信息。
第一个Action执行成功后有chain拦截器负责发出第二个Action的请求,Action链中所有Action都共享一个值栈,当执行Action的时候,会将自身的数据全部压入值栈。
注意是怎样从action1的参数传给action2的
防止表单重复提交
方法一就是重定向的方式,如上图,方法二是 session token (session令牌)
通过Session Token(Session令牌):当客户端请求页面时,服务器会通过token标签生成一个随机数,并且将该随机数放置到session当中,然后将该随机数发向客户端;如果客户第一次提交,那么会将该随机数发往服务器端,服务器会接收到该随机数并且与session中所保存的随机数进行比较,这时两者的值是相同的,服务器认为是第一次提交,并且将更新服务器端的这个随机数值;如果此时再次重复提交,那么客户端发向服务器端的随机数还是之前的那个,而服务器端的随机数则已经发生了变化,两者不同,服务器就认为这是重复提交,进而转向invalid.token所指向的结果页面。
1 | < action name = "Action名称" class = "Action类路径" method = "方法名" > |
2 | < result name = "逻辑视图名称" type = "结果类型" > |
3 | < param name = "参数名称" >参数值</ param > |
4 | </ result > |
5 | </ action > |
结果类型的作用
返回类型在Struts2框架下的struts-default.xml中可以找到所支持的结果类型.常用的有3种:
1、请求转发(dispatcher)
这是Struts2的默认结果类型。请求转发只能请求转发至同一个web应用。
利用请求转发浏览器地址栏不会发生变化。
利用请求转发调用者与被调用者之间共享相同的request对象和response对象,他们属于同一个访问请求和响应。
2、重定向(redirect)
重定向不仅可以指定到一个web应用,还能够制定到任何JSP资源。重定向的访问结束后,浏览器的地址栏中显示URL变化。
重定向的调用者与被调用者使用各自的的request对象和response对象,他们属于两个独立的访问请求和响应过程。
重定向之后会丢失前一次访问的数据信息。
3、Action链(chain)
Action链是通过一个chain的拦截器实现的。第一个Action执行成功后有chain拦截器负责发出第二个Action的请求,Action链中所有Action都共享一个值栈,当执行Action的时候,会将自身的数据全部压入值栈。
注意是怎样从action1的参数传给action2的
防止表单重复提交
方法一就是重定向的方式,如上图,方法二是 session token (session令牌)
通过Session Token(Session令牌):当客户端请求页面时,服务器会通过token标签生成一个随机数,并且将该随机数放置到session当中,然后将该随机数发向客户端;如果客户第一次提交,那么会将该随机数发往服务器端,服务器会接收到该随机数并且与session中所保存的随机数进行比较,这时两者的值是相同的,服务器认为是第一次提交,并且将更新服务器端的这个随机数值;如果此时再次重复提交,那么客户端发向服务器端的随机数还是之前的那个,而服务器端的随机数则已经发生了变化,两者不同,服务器就认为这是重复提交,进而转向invalid.token所指向的结果页面。
相关文章推荐
- Struts2 <s:token>防止表单重复提交 %{}
- Struts2中防止表单重复提交的两种方式及token拦截器的原理及作用
- Struts2学习笔记四(result结果类型、防止表单重复提交)
- Struts2中防止表单重复提交,global-results定义全局结果处理
- struts2基础(一) struts2标签<s:token />防止表单重复提交
- Struts2标签<s:token />防止表单重复提交
- Struts2学习笔记之<s:token/>防止表单重复提交
- Struts2学习笔记之<s:token/>防止表单重复提交
- Struts2防止表单重复提交
- struts2防止表单重复提交
- struts2之防止表单重复提交
- Struts2 防止表单重复提交(转载自:http://blog.csdn.net/hackerain/article/details/6990121)
- Struts2防止表单重复提交
- 防止表单重复提交&刷新
- Struts2第十三篇【防止表单重复提交】
- Struts2防止表单重复提交(源代码)
- Struts2防止表单重复提交
- struts2 防止表单重复提交
- Struts2——"token"拦截器(防止表单重复提交)
- Struts2学习10--防止表单的重复提交token标签和tokenSession