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

转载 2016年08月30日 14:48:43

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不同,则认为重复提交。



相关文章推荐

struts2 结果类型的作用 type & 防止表单重复提交

实际上在Struts2框架中,一个完整的结果视图配置文件应该是:12    3        参数值4    5 结果类型的作用返回类型在Struts2框架下的struts-default.xml中可...
  • ryb531
  • ryb531
  • 2011年05月16日 19:36
  • 451

Struts2学习笔记(五)——result结果类型

当Action类的方法处理请求后,会返回一个字符串(逻辑视图名),框架根据这个结果码选择对应的result,向用户输出,所以需要在struts.xml提供元素定义结果页面,这个结果页面可以是局部结果页...

Struts2学习笔记(七) 结果(Result)(上)

大多数情况下我们的用例可以被分成两个部分。一是我们需要改变和查询应用程序的状态,er是需要呈现和更新应用程序的视图。在Struts2中Action管理应用程序的状态,Result Type管理视图。 ...

Struts2学习笔记(八) 结果(Result)(下)

异常映射 我们知道在action的execute方法签名中定义了可以抛出任何类型的异常。至于这个异常抛给了谁,那当然是struts2框架了,如果我们没有设置响应的策略,那么struts2也不会对异常...

Struts2笔记——result结果类型

result > 每个 action方法都将返回一个 String 类型的值,Struts 将根据这个值来决定响应什么结果. > 每个 Action声明都必须包含有数量足够多的 resul...
  • pwc1996
  • pwc1996
  • 2015年08月26日 18:50
  • 311

【Struts2学习笔记(2)】Action配置中的各项默认值和Action中result的各种转发类型

一、Action配置中的各项默认值 /WEB-INF/page/hello.jsp 1>如果没有为action指定class,默认是ActionSupp...

struts2自主学习之动态方法调用,使用method属性,配置Result,结果类型

struts2自主学习之动态方法调用,使用method属性,配置Result,结果类型

struts2之防止表单重复提交

struts.xml配置文件 xml version="1.0" encoding="UTF-8" ?> DOCTYPE struts PUBLIC "-//Apache Softw...

Session Token机制-Struts2中防止表单重复提交的两种方式(一)

当用户填写完表单后,在提交过一次后,若用户做如下操作比如再次点击提交、刷新页面、提交页面呈现后点击后退按钮,都会导致表单重复提交。如果信息需要存储到后台数据库中,重复提交就会再次向数据库中插入用户信息...
  • snow_7
  • snow_7
  • 2016年05月24日 20:32
  • 1720
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2学习笔记四(result结果类型、防止表单重复提交)
举报原因:
原因补充:

(最多只允许输入30个字)