引用
AutoArrayList.java 继承ArrayList类,并且重写了get方法.它的主要作用是在struts 表单提交的时候多组数据提交.
package com.baoku.bookair.airelement.flight.forms;
import java.util.ArrayList;
public class AutoArrayList extends ArrayList {
private Class itemClass;
public AutoArrayList(Class itemClass) {
this.itemClass = itemClass;
}
public Object get(int index) {
try {
while (index >= size()) {
add(itemClass.newInstance());
}
} catch (Exception e) {
e.printStackTrace();
}
return super.get(index);
}
}
引用
提交表单时的注意事项
1)页面必须是struts 表单提交哟。
2)其次在提交的时候一定要注意input的name属性的写法
2.1)selfXXXlist表示javaBean中的属性
2.2)[数值]表示该集合的下标
2.3).xxx表示该集合中包含的类的属性
<input type="text" name="selfXXXlist[0].xxx" value="" />
引用
继承ActionForm的Form类
package com.baoku.hotel.companyMaintainHotel.forms;
import java.util.List;
import javax.persistence.Entity;
import org.apache.struts.action.ActionForm;
import com.util.other.AutoArrayList;
public class XXX extends ActionForm implements java.io.Serializable {
private List<XXX> selfXXXlist = new AutoArrayList(XXX.class);
public void setXXXlist(List<XXX> XXX) {
this.selfXXXlist .clear();
this.selfXXXlist .addAll(XXX);
}
public List<XXX> getSelfXXXlist() {
return selfXXXlist;
}
}
引用
使用时的注意事项避免提交的数据存在于内存中:
1)提交表单之后要重定向。
2)scope的值应为request因为我用的是struts1.0所以默认的是session。
3)在set方法中需要先清除在添加,如下所示:
public void setXXX(List<XXX> XXX) {
this.XXX.clear();
this.XXX.addAll(XXX);
}
分享到:
相关推荐
在Struts1.2中处理表单提交,特别是当表单数据包含列表对象时,需要理解一些核心概念和技术。这篇博客文章可能详细探讨了如何在Struts1.2中处理这类情况。 首先,让我们来了解Struts1.2中的表单提交流程。当用户在...
通常,这种问题发生在用户在提交表单后,由于网络延迟或用户的误操作再次点击提交按钮,或者在表单提交后刷新浏览器页面。这两种情况都可能导致服务器接收到重复的请求,从而对系统造成不必要的负担,甚至可能导致...
当用户在表单中填写信息并提交后,这些数据会被封装到ActionForm对象中,然后传递给Action类进行处理。 5. **JSP视图**:JavaServer Pages(JSP)常用于创建动态视图。在Struts中,Action类处理完业务逻辑后,会将...
在处理用户表单提交时,Struts框架可能会遇到一个常见的问题,即表单重复提交。这种情况通常发生在用户点击提交按钮后,由于网络延迟或其他原因导致请求被多次发送,从而可能对服务器端造成多次数据插入或更新,导致...
当用户提交表单时,Struts会自动将表单数据填充到ActionForm Bean的相应属性中,以便在控制层进行处理。 表单验证主要通过覆盖ActionForm的`validate()`方法来实现。这个方法会在用户提交表单后,Action类执行之前...
在这个名为"Struts2表单数据获取项目"的资源中,我们将深入探讨如何使用Struts2框架来处理表单提交的数据。 首先,我们来看看核心组件`Struts.xml`。这是Struts2应用的主要配置文件,用于定义动作(Actions)、结果...
在处理批量数据提交时,Struts2提供了一种高效的方法来管理并存储大量数据到数据库。本篇文章将深入探讨如何利用Struts2实现批量提交数据的功能。 ### 一、批量提交的概念 批量提交是指一次性处理多个数据记录,而...
在form表单提交中,如果希望使用Ajax,你需要阻止表单的默认提交行为,然后使用JavaScript手动构造并发送Ajax请求。同时,你需要在后端设置接收和处理这些请求的接口。例如,在Spring MVC框架中,你可以定义一个...
Struts2是一个强大的MVC(模型-视图...这个小项目不仅展示了Struts2处理表单提交的基本流程,还涉及了数据库操作、数据验证和MVC模式的运用。理解并掌握这些步骤,将有助于你在面试中更好地展示自己的JavaWeb开发技能。
- **提交与验证**:当表单提交时,服务器获取表单中的Token,与Session中的Token进行比对。如果匹配,处理表单数据;如果不匹配或Session中没有对应的Token,说明是重复提交,服务器则忽略此次请求。 - **清理...
在Struts框架中处理多行数据提交的问题是一个常见的开发场景,尤其当涉及到表格形式的数据录入时。本文将深入探讨如何在Struts框架下实现多行数据的动态添加与提交,结合给定的代码示例进行详细解析。 ### Struts...
1. **在表单提交前生成令牌**: ```java saveToken(request); ``` 2. **在提交表单的方法中验证令牌**: ```java if(!isTokenValid(request)){ ActionMessages errors = new ActionMessages(); errors.add(...
在处理表单数据方面,Struts2提供了一种高效且灵活的方法,使得开发者能够轻松地从用户提交的表单中获取并处理数据。这篇博客文章“应用Struts2处理表单数据”可能会探讨以下核心知识点: 1. **Action类**:在...
表单验证是在用户提交数据前检查输入的有效性,以确保数据的完整性和安全性。在Struts框架中,表单验证通常通过两个主要方式实现:客户端验证和服务器端验证。 1. 客户端验证: 客户端验证发生在用户的浏览器上,...
在处理用户交互时,尤其是表单提交,一个常见的问题是防止表单的重复提交。这可能导致数据的不一致性和其他问题。本文将深入探讨如何在Struts框架中利用Token机制来解决这个问题。 一、表单重复提交问题 表单重复...
Struts2提供了Token插件来解决这个问题,确保每个表单提交只能被执行一次。下面将详细阐述Struts2中Token机制的工作原理、配置以及使用方法。 1. Token机制概述: Token机制是通过在客户端(浏览器)和服务器之间...
在Struts中,我们可以使用`struts标签库`来简化页面的开发,如`<s:form>`用于创建表单,`<s:textfield>`和`s:submit`用于输入字段和提交按钮,而`<s:iterator>`则用于遍历并显示列表数据。 此外,Struts框架还支持...
在处理表单提交时,一个常见的问题就是防止用户意外或恶意地重复提交数据,这可能导致数据库中的数据异常。"防止表单重复提交 token"是Struts2提供的一种解决方案,通过在请求中加入一个唯一的token来确保请求的唯一...
2. **ActionForm**:用于封装用户从表单提交的数据,是业务层和视图层之间的桥梁。 3. **Action**:执行业务逻辑的Java类,每个Action对应一个特定的用户请求。 4. **ActionMapping**:在struts-config.xml中定义,...
它会在表单提交时生成一个令牌,并将其存储在用户的session中。服务器端检查这个令牌,如果已经存在,就拒绝处理请求,从而防止重复提交。 - **Session属性**:在Action中设置一个session属性,表示表单已提交。当...