Struts2学习笔记四(result结果类型、防止表单重复提交)

来源:互联网 发布:银行流水10万怎么算法 编辑:程序博客网 时间:2024/05/17 05:09

1、struts-default.xml 中result-types 主要常用dispather ,chain,redirect,redirectAction。

2、默认是dispather ,一般的请求转发。显示的url是 action的url

3、redirect,直接转发,相当于回到了客户端,重新发起请求,原来所带request丢失。显示转发后的jsp的url

4、redirectAction 请求,然后重定向

       例如:首先请求带着request,做登录login,然后再重定向(回到客户端)到其他action(做别的事,如list自己的工作),url显示的是list 后面一个重定向的url,可以有效防止表单重复提交

<action name="login" class="com.yanlei.struts2.LoginAction"><pre name="code" class="html" style="font-size: 13.3333px;"><span style="font-size: 13.3333px; font-family: Arial, Helvetica, sans-serif;">                               <result name="success" type="</span><span style="font-size: 13.3333px; font-family: Arial, Helvetica, sans-serif;">redirectAction</span><span style="font-size: 13.3333px; font-family: Arial, Helvetica, sans-serif;">"></span>
<param name="actionName">list</param><param name="username">${username}</param><param name="password">${password}</param><param name="usernameAndPassword">${usernameAndPassword}</param></result><result name="input">/login.jsp</result></action>

<action<span style="background-color: rgb(255, 255, 102);"> </span><span style="color:#cc0000;"><span style="background-color: rgb(255, 255, 102);">name="list"</span> </span>class="com.yanlei.struts2.ListAction"><result name="success">/action2.jsp</result></action>
           重定向的时候可以通过Param 传参数,${username} 表示login中的参数,传递给listAction,listAction中必须有属性接受这些参数,然后可以接受处理,        然后传递到action2.jsp

5、chain 请求之后继续请求(发生在服务器内部的请求),param是客户端传过去的参数,所以请求都一直没有回来,一直在服务器内部,param自然传不过去。

6、提交表单下 利用struts标签  <s:token></s:token>,客户端服务端生成随机ID,相同者第一次提交,不同则重复提交。

       提交的时候服务器端的ID会变化,客户端的不变;重复提交的时候客户端的没变,但是服务器端的在提交的时候已经变了,所以两个ID不同,则认为重复提交。



0 0
原创粉丝点击