问题描述:有时,表单数据太多,无法在同一个页面显示,需要分页完成(如用户注册表单)。这时,既可以为每一个表单创建一个ActionForm,也可以只创建一个ActionForm,它和多个表单对应。这里讨论如何用一个ActionForm对应表单。 1.把HTML表单拆分到多个JSP页面中 这里我们把注册表单拆分为两个表单:第一个在insertContent.jsp中定义,包括name和phone字段,第二个表单在insertContent_next.jsp中定义,包括address字段。这两个表单分别对应不同的Action: “/insert1”和“/insert2”,但是这两个Action与同一个ActionForm映射。 注意在insertContent.jsp和insertContent_next.jsp中定义一个隐含字段page,它代表当前页面编号,AcitonForm将通过这个字段来识别当前正在处理的是哪个表单。insertContent.jsp中:
2.创建和多个HTML表单对应的ActionForm(InsertForm.java) 需要注意一下几点: (1)提供和HTML表单的隐藏字段page对应的page属性,并生成get和set方法 (2) 在reset()方法中,只能把和当前正在处理的表单相关的属性恢复为默认值,否则,如果每次都把ActionForm的所有属性恢复为默认值,将使用户输入的上一页表单数据丢失。由于Struts框架先调用reset()方法,然后再把用户输入的表单数据组装到ActionForm中,因此在reset()方法中,不能根据page属性来判断处理的是哪个页面,而应该直接从HttpServletRequest对象中读取当前表单的page字段值:page=new Integer(request.getParameter("page")).intValue(); 完整代码如下:
(3) 在validate()方法中,仅对和当前表单相关的属性进行验证。由于Struts框架在调用validate()方法之前,已经把用户输入的表单数据组装到ActionForm中,因此在validate()方法中可以根据page属性决定正在处理哪个表单。 代码如下:
3.配置ActionForm和多个Action映射 当ActionForm 与多个表单对应时,应该把 ActionForm 存放在 session 中,当用户提交第一个表单时,请求由 org.apache.strutsactions.ForwardAction来处理,ForwardAction 类是 Struts 框架内置的 Action 类,他的 execute()方法负责把请求再转发给<action>元素的 parameter 属性指定的 web 组件。当用户提交第 二个表单时,请求被转发给相应的 InsertAction. struts-config.xml 源代码
您还没有登录,请您登录后再发表评论
这时,既可以为每一个表单创建一个ActionForm,也可以只创建一个ActionForm,它和多个表单对应。这里讨论如何用一个ActionForm对应表单。 程序完整解释可以到我的空间查看: ...
例如,`<s:form>`标签用于创建一个Struts表单,`<s:textfield>`标签用于创建输入字段,`<s:submit>`标签用于提交表单等。这些标签可以帮助开发者快速构建动态、交互的注册和登录界面,同时,它们也支持数据验证和...
在Web开发中,一个常见的问题就是防止用户意外或恶意地重复提交表单,这可能导致数据的不一致性和服务器负载的增加。Struts2提供了一种称为“令牌”或“Token Session”的机制来解决这个问题。 令牌机制的工作原理...
点击“添加用户”链接时,通过JavaScript打开了一个新的窗口或标签页到userAdd.jsp页面,在该页面中填写用户信息后提交表单。用户添加操作完成后,通过AJAX请求成功回调,关闭新打开的页面,并刷新user.jsp页面,以...
2. **提交表单**:用户提交表单时,这个令牌一起发送到服务器。 3. **验证令牌**:Struts2拦截器(如TokenInterceptor)会检查这个令牌,如果令牌存在且未被使用过,那么处理表单请求,否则返回错误页面或重定向。 4...
在这个场景中,用户填写的个人信息被用来创建一个表单,该表单的数据随后会被提交到服务器,由Struts2框架接手处理。Struts2的工作流程和涉及的关键知识点如下: 1. **表单数据收集**:用户在前端界面填写个人信息...
Struts的Token机制主要用来防止用户意外或恶意的多次提交表单,例如在刷新页面时重复提交数据。它的工作原理如下: 1. **生成Token**: 当用户访问一个需要防重复提交的表单时,服务器会生成一个唯一的Token并将其...
这个过滤器会在用户提交表单时生成一个唯一的令牌,并将其存储在用户的会话(session)中。当表单被提交时,服务器会检查这个令牌,如果令牌匹配且未被使用过,则处理请求,否则将忽略此次提交。 要实现TokenFilter...
客户端在提交表单时会携带这个令牌,服务器端验证令牌的正确性,如果验证通过则处理请求,否则拒绝。 **Struts2中的Token插件** 在Struts2中,Token插件是内建的,它提供了一种简单的方式来实现重复提交的防护。...
当用户提交表单时,服务器会检查这个 token 是否有效,有效则处理请求,无效则拒绝。 2. **Token存储**:生成的 token 通常会存储在服务器的 session 中,与用户的会话关联。这样,即使用户重复提交,服务器也能...
Struts2 Token回退刷新是一种防止重复提交的安全机制,尤其在处理并发操作和防止 CSRF(跨站请求伪造)攻击时显得尤为重要。Struts2框架提供了一种令牌验证的方式来确保每个表单提交是唯一的,避免了恶意用户通过...
当用户提交表单时,服务器会检查提交的Token值是否与Session中的Token值匹配,如果匹配则处理请求,否则视为无效请求并忽略。 ### 二、Struts2 Token插件配置 1. **启用Token插件**:在Struts2的配置文件`struts....
在Web应用程序开发过程中,为了防止重复提交表单或CSRF(跨站请求伪造)等安全问题,Struts2框架提供了一种名为“令牌”的机制。该机制通过在用户会话中存储一个随机生成的唯一值,并在表单提交时验证该值是否有效来...
在处理表单提交时,为了防止重复提交或者跨站请求伪造(CSRF)攻击,Struts2引入了令牌机制。这个"struts2 令牌使用例子"是一个很好的实践教程,帮助开发者理解如何在实际应用中实施这一安全策略。 首先,我们需要...
2. **Dialog对话框**:在描述中提到的"dialog"可能指的是在提交表单前显示一个确认对话框。在HTML5中,我们可以使用`<dialog>`元素来创建自定义对话框。然而,由于浏览器支持度问题,通常会结合JavaScript库如jQuery...
通常会有一个对应的JSP表单,用户在表单上填写信息后提交。 5. **struts-config.xml**:这是Struts的核心配置文件,定义了Action、ActionForm、ActionMapping以及视图的映射关系。通过这个文件,Struts知道如何处理...
而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理。 首先,理解为何需要令牌。在Web应用中,用户可能会意外或恶意地多次点击...
当用户提交表单时,框架会检查这个Token是否有效。 3. **配置Token插件**: 首先,需要在struts-config.xml文件中启用Token插件,配置如下: ```xml <plug-in className="org.apache.struts.action.TokenPlugin...
当用户提交表单后,请求会经过以下步骤: 1. **ActionServlet**:接收请求并解析请求参数。 2. **ActionMapping**:根据配置文件找到对应的Action。 3. **ActionForm**:封装表单数据。 4. **Action**:执行业务...
相关推荐
这时,既可以为每一个表单创建一个ActionForm,也可以只创建一个ActionForm,它和多个表单对应。这里讨论如何用一个ActionForm对应表单。 程序完整解释可以到我的空间查看: ...
例如,`<s:form>`标签用于创建一个Struts表单,`<s:textfield>`标签用于创建输入字段,`<s:submit>`标签用于提交表单等。这些标签可以帮助开发者快速构建动态、交互的注册和登录界面,同时,它们也支持数据验证和...
在Web开发中,一个常见的问题就是防止用户意外或恶意地重复提交表单,这可能导致数据的不一致性和服务器负载的增加。Struts2提供了一种称为“令牌”或“Token Session”的机制来解决这个问题。 令牌机制的工作原理...
点击“添加用户”链接时,通过JavaScript打开了一个新的窗口或标签页到userAdd.jsp页面,在该页面中填写用户信息后提交表单。用户添加操作完成后,通过AJAX请求成功回调,关闭新打开的页面,并刷新user.jsp页面,以...
2. **提交表单**:用户提交表单时,这个令牌一起发送到服务器。 3. **验证令牌**:Struts2拦截器(如TokenInterceptor)会检查这个令牌,如果令牌存在且未被使用过,那么处理表单请求,否则返回错误页面或重定向。 4...
在这个场景中,用户填写的个人信息被用来创建一个表单,该表单的数据随后会被提交到服务器,由Struts2框架接手处理。Struts2的工作流程和涉及的关键知识点如下: 1. **表单数据收集**:用户在前端界面填写个人信息...
Struts的Token机制主要用来防止用户意外或恶意的多次提交表单,例如在刷新页面时重复提交数据。它的工作原理如下: 1. **生成Token**: 当用户访问一个需要防重复提交的表单时,服务器会生成一个唯一的Token并将其...
这个过滤器会在用户提交表单时生成一个唯一的令牌,并将其存储在用户的会话(session)中。当表单被提交时,服务器会检查这个令牌,如果令牌匹配且未被使用过,则处理请求,否则将忽略此次提交。 要实现TokenFilter...
客户端在提交表单时会携带这个令牌,服务器端验证令牌的正确性,如果验证通过则处理请求,否则拒绝。 **Struts2中的Token插件** 在Struts2中,Token插件是内建的,它提供了一种简单的方式来实现重复提交的防护。...
当用户提交表单时,服务器会检查这个 token 是否有效,有效则处理请求,无效则拒绝。 2. **Token存储**:生成的 token 通常会存储在服务器的 session 中,与用户的会话关联。这样,即使用户重复提交,服务器也能...
Struts2 Token回退刷新是一种防止重复提交的安全机制,尤其在处理并发操作和防止 CSRF(跨站请求伪造)攻击时显得尤为重要。Struts2框架提供了一种令牌验证的方式来确保每个表单提交是唯一的,避免了恶意用户通过...
当用户提交表单时,服务器会检查提交的Token值是否与Session中的Token值匹配,如果匹配则处理请求,否则视为无效请求并忽略。 ### 二、Struts2 Token插件配置 1. **启用Token插件**:在Struts2的配置文件`struts....
在Web应用程序开发过程中,为了防止重复提交表单或CSRF(跨站请求伪造)等安全问题,Struts2框架提供了一种名为“令牌”的机制。该机制通过在用户会话中存储一个随机生成的唯一值,并在表单提交时验证该值是否有效来...
在处理表单提交时,为了防止重复提交或者跨站请求伪造(CSRF)攻击,Struts2引入了令牌机制。这个"struts2 令牌使用例子"是一个很好的实践教程,帮助开发者理解如何在实际应用中实施这一安全策略。 首先,我们需要...
2. **Dialog对话框**:在描述中提到的"dialog"可能指的是在提交表单前显示一个确认对话框。在HTML5中,我们可以使用`<dialog>`元素来创建自定义对话框。然而,由于浏览器支持度问题,通常会结合JavaScript库如jQuery...
通常会有一个对应的JSP表单,用户在表单上填写信息后提交。 5. **struts-config.xml**:这是Struts的核心配置文件,定义了Action、ActionForm、ActionMapping以及视图的映射关系。通过这个文件,Struts知道如何处理...
而Struts1.x的令牌机制(Token)则是防止重复提交、跨页请求攻击的重要手段。在此,我们将深入探讨Struts1.x令牌的使用方法及其背后的原理。 首先,理解为何需要令牌。在Web应用中,用户可能会意外或恶意地多次点击...
当用户提交表单时,框架会检查这个Token是否有效。 3. **配置Token插件**: 首先,需要在struts-config.xml文件中启用Token插件,配置如下: ```xml <plug-in className="org.apache.struts.action.TokenPlugin...
当用户提交表单后,请求会经过以下步骤: 1. **ActionServlet**:接收请求并解析请求参数。 2. **ActionMapping**:根据配置文件找到对应的Action。 3. **ActionForm**:封装表单数据。 4. **Action**:执行业务...