28.struts2_表单重复提交


一、什么是表单的重复提交

在不刷新表单页面的情况下,多提点击提交按钮

已经提交成功,回退后再次点击提交

在控制器相应为转发情况下,提交成功后,F5刷新页面(因为此时浏览器url是action的url会重新操作),重定向url就变化了。


二、Struts2解决表单重复提交

使用<s:token></token>标签,该标签会在隐藏域和session中放入一个相同的值。经过Token或者TokenSession拦截器(两个拦截器都不在默认拦截器栈中,需要手工配置)。

若使用Token拦截器:则需要配置一个token.valid的result

若使用TkenValid拦截器:不需要配置特殊result。会相应目标页面,但不会执行后续拦截器。

jsp页面

<s:form action="testToken">
		<s:token></s:token>
		<s:textfield name="username" label="username"></s:textfield>
		<s:submit></s:submit>
	</s:form>

struts.xml 在Action中配置token拦截器


<action name="testToken" class="com.hcx.app.TokenAction">
			<interceptor-ref name="token" />
			<interceptor-ref name="defaultStack" />
			<result>/success.jsp</result>
			<result name="invalid.token">/token-err.jsp</result>
		</action>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值