struts2 防止表单重复提交

防止表单重复提交,需要在表单中增加一段随机字符串,来验证是否重复提交。
表单使用struts标签库生成:


	<s:form action="login" theme="simple">
		username: <input type="text" name="username" />
		<br />
		password:<input type="password" name="password" />
		<s:token></s:token><!-- 插入token -->
		<input type="submit" value="提交" />
	</s:form>

Action类不需要作任何修改,只需修改struts.xml中配置:


		<action name="login" class="com.struts2.LoginAction">
			<result name="success">/result.jsp</result>
			<result name="input">/login.jsp</result>
			<result name="invalid.token">/1.jsp</result>
			<interceptor-ref name="token"></interceptor-ref>
			<interceptor-ref name="defaultStack"></interceptor-ref>
		</action>

增加三行,struts2在检测到重复提交时会返回name为invalid.token的结果,需要加上拦截器。

© 2012, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记