<s:token />标签防止重复提交,用法如下:
第一步:在表单中加入<s:token />
<s:form action="helloworld_other" method="post" namespace="/test">
<s:textfield name="person.name"/><s:token/><s:submit/>
</s:form>
第二步:
<action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="token" />
<result name="invalid.token">/WEB-INF/page/message.jsp</result>
<result>/WEB-INF/page/result.jsp</result>
</action>
以上配置加入了“token”拦截器和“invalid.token”结果,因为“token”拦截器在会话的token与请求的token不一致时,将会直接返回“invalid.token”结果。
分享到:
相关推荐
本实例主要是用<s:token/>标签来实现重复提交的。 使用方法: 部署项目,浏览器中输入访问地址: http://localhost:8080/chongfutijiao/login.jsp 随便在输入框中输入文字,点击提交。 然后就会跳到提交成功页面,...
1. **生成Token**: 当用户访问一个需要防重复提交的表单时,服务器会生成一个唯一的Token并将其存储在服务器端(比如Session)和客户端(通常隐藏在表单中)。 2. **提交表单**: 用户填写表单并点击提交按钮,这个...
总之,防止重复提交是Web应用开发中的重要一环,可以通过Struts2提供的 `<s:token>` 标签结合拦截器,或者结合客户端验证和服务器端状态管理等多种方式来实现。正确实施这些措施,可以有效避免数据的不一致性,提高...
本文详细介绍了如何在Struts2框架中使用`<s:token/>`标签和`token`拦截器来防止表单重复提交。通过这种方式,可以有效地避免因重复提交而导致的数据冗余和其他潜在问题。对于开发者来说,理解和掌握这些技术是非常...
Struts2是一个强大的MVC框架,它为Java ...同时,通过`Token Interceptor`,我们可以有效地防止表单重复提交,确保数据的准确性。最后,通过合理的错误信息展示,能够提升用户体验,使用户能快速理解并修正输入错误。
Struts2是一个流行的Java Web框架,它为开发者...通过上述步骤,Struts2的`s:token`标签可以帮助开发者有效地防止重复提交,保证Web应用程序的数据一致性。理解并正确使用这个功能,可以提升应用的健壮性和用户体验。
`<s:token>` 生成和检查令牌,防止重复提交。 Y. `<s:url>` 创建URL,可以附加参数,例如:`<s:url action="myAction"><s:param name="param1" value="value1" /></s:url>`。 Z. `<s:validate>` 验证表单字段。 ...
<s:submit value="提交" /> ``` ##### 42. `<s:subset>` 标签 - **用途**:创建子集。 - **示例**: ```xml <s:subset var="subList" value="itemsList" size="5"/> ``` ##### 43. `<s:tabbedPanel>` 标签 - ...
`<s:token>`标签用于防止重复提交,与Struts2的Token拦截器配合使用。 `<s:tree>`标签用于生成树形结构,适用于层次数据的展示。 `<s:treenode>`定义树结构中的节点。 T. `<s:updownselect>`,`<s:url>`: `<s:...
`<s:token>` 用于防止重复提交,`<s:tree>` 创建树形结构,`<s:treenode>` 定义树节点,`<s:updownselect>` 创建可上下选择的多选框,`<s:url>` 生成URL,通常与Action关联。 以上就是Struts标签的基本介绍,它们极...
例如:`<s:form action="saveUser" method="post" enctype="multipart/form-data">`,这里 `action` 指定了提交表单的目标动作,`method` 指定了请求方式,`enctype` 指定了编码类型。 #### 23. `<s:generator>` - ...
18. `<s:token>`标签用于防止表单的重复提交,这是Web应用中常见的一个安全问题。 19. `<s:url>`标签用于生成当前Web应用中的URL链接。 20. `<s:formaction>`标签用于指定表单提交的目标action。 了解这些标签的...
<s:div><s:text name="welcomeMessage"/></s:div> ``` - **说明**: 用于创建HTML div容器,并可以嵌套其他标签。 14. **doubleselect** - 创建双列选择框。 - **示例代码**: ```xml <s:doubleselect name=...
<s:token/> </s:form> ``` 4. **验证令牌**:当用户提交表单时,Struts2的拦截器会自动检测令牌。如果令牌有效,请求会被处理;如果令牌已经被使用或不存在,将会抛出异常,如`TokenException`。 5. **处理异常...
<s:token/> <input type="submit" value="提交"/> </form> ``` 这里的`s:token`标签会自动生成一个隐藏的Token字段,其值与服务器端保存的Token对应。 5. 处理重复提交: 当用户尝试重复提交表单时,Struts2会...
<s:token name="struts.token.name" /> <input type="hidden" name="struts.token.name" value="%{#session['struts.token.name']}" /> ``` 3. **配置Action**: 在Struts的配置文件(例如`struts.xml`)中,为...
在处理表单提交时,为了防止重复提交或者跨站请求伪造(CSRF)攻击,Struts提供了一种称为“令牌”(Token)的安全机制。本文将详细探讨如何利用Struts的标准库来实现令牌功能。 一、理解令牌机制 令牌机制主要是...
3. **插入表单**:在JSP页面中,使用Struts的`<s:token/>`标签将Token插入到表单的隐藏字段中。 4. **验证Token**:当Action接收到表单请求时,Struts的拦截器会自动检查Token。如果验证通过,Action继续执行;否则...