Struts2表单重复提交

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<!-- 定义自己的国际化资源文件 -->
	<constant name="struts.custom.i18n.resources" value="message"></constant>
	 <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
    <constant name="struts.serve.static.browserCache" value="false" />
    <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
    <constant name="struts.configuration.xml.reload" value="true" />
      <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
    <constant name="struts.devMode" value="true" />
    
	<package name="struts2" extends="struts-default" namespace="/">
		<action name="register" class="com.pas.action.RegisterAction">
			<result name="success">/ok.jsp</result>
			<result name="input">/reg.jsp</result>
			<!-- 防止表单重复提交增加内容 -->
			<result name="invalid.token">/reg.jsp</result>
			<interceptor-ref name="token"></interceptor-ref>
			<interceptor-ref name="defaultStack"></interceptor-ref>
		</action>
	</package>
</struts>
JSP:

    

<s:form action="/register"
			method="post" theme="simple" onsubmit="return validate();">


			<!-- 防止重复提交 -->
			<s:token></s:token>


			<!-- JSP页面国际化 -->
			<!-- i18n标签 可指定资源文件, name为basename -->
			<!--tem_en_US.properties存在src根目录下-->
			<s:i18n name="tem">
				<s:text name="add_user">
					<!-- 穿参数 -->
					<s:param>参数名</s:param>
				</s:text>
			</s:i18n>
			<!-- 第一种方式  Struts标签-->
			<s:text name="add_user"></s:text>

			<table border="1" style="border-collapse: collapse">
				<tr>
					<td>用户名:</td>
					<td><s:textfield name="username" id="username" /></td>
					<td>
					<!-- 自定义错误信息位置 -->
						<s:fielderror>
							<s:param>username</s:param>
						</s:fielderror>
					</td>
				</tr>
				<tr>
					<td>密 码:</td>
					<td><s:password name="password" id="pass1" /></td>
				</tr>
				<tr>
					<td>再次输入:</td>
					<td><s:password name="repass" id="pass2" /></td>
				</tr>
				<tr>
					<td>年龄:</td>
					<td><s:textfield name="age" /></td>
				</tr>
				<tr>
					<td>时间:</td>
					<td><s:textfield name="date" /></td>
				</tr>
			</table>
			<s:submit value="提交"></s:submit>
		</s:form>

你可能感兴趣的:(struts2,表单,重复提交,token)