MyAction.java
public class MyAction extends AbstractAction {
private List personList;
// 生成表单
public String execute() {
personList = buildPersonList();
return this.SUCCESS;
}
// 处理提交的表单
public String update(){
Iterator it = personList.iterator();
while(it.hasNext()){
Person p = (Person)it.next();
System.out.println("===============" p.getName());
}
return this.SUCCESS;
}
private List buildPersonList(){
List list = new ArrayList();
for(int i=0; i<5; i ){
Person p = new Person();
p.setId(i);
p.setAge(20 i);
p.setName("pengbing" i);
list.add(p);
}
return list;
}
Person.java
public class Person {
private int id;
private String name;
private int age;
............
-----------------------------------------------
在MyAction下建MyAction-conversion.properties 这个文件,没有这个文件就完成不了该功能
# 指定personList里的对象
Element_personList=cn.upge.struts2study.editForm.Person
# 如果personList为空,允许创建personList
CreateIfNull_personList=true
-----------------------------------------------
<%@ page contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:form action="update.action">
<s:iterator value="personList" status="stat">
<s:textfield name="personList[%{#stat.index}].id" value="%{personList[#stat.index].id}" />
<s:textfield name="personList[%{#stat.index}].name" value="%{personList[#stat.index].name}" />
<s:textfield name="personList[%{#stat.index}].age" value="%{personList[#stat.index].age}" />
</s:iterator>
<s:submit />
</s:form>
来自:http://blog.sina.com.cn/s/blog_4c67de6f0100bbvb.html
分享到:
相关推荐
7. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2允许通过URL直接调用Action方法,而无需在Action类中定义一个公共的execute方法。 8. **表单验证(Validation)**:Struts2提供了强大的验证机制,...
在提供的压缩包文件"Struts5.0"中,可能包含了Struts的示例代码、配置文件和其他相关资源,你可以通过这些资源深入了解和学习如何在实际项目中运用Struts动态表单。通过实践这些实例,你可以更好地理解Struts动态...
Struts动态表单验证是Java Web开发中一个关键的实践,尤其在构建MVC(Model-View-Controller)架构的应用程序时。Struts框架提供了一种有效的方法来处理用户输入并确保数据的完整性和安全性。在这个主题中,我们将...
在Struts2中,表单标签是用于处理用户输入和展示数据的关键组件,它们使得视图层的构建更加简洁和高效。本示例将深入探讨Struts2的表单标签使用方法,帮助开发者更好地理解和应用这些标签。 首先,我们来了解一些...
在Eclipse中配置Struts2...Struts2―表单验证validate(html)对validate的type属性校验类型以及param 做了详细的解释说明。 struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)
2. **Form Beans配置**:动态表单通常需要一个能够适应不同数据结构的Form Bean。这可能涉及到使用一个基类Form Bean,然后在运行时根据需要实例化特定的子类。 3. **JSP页面**:JSP页面作为视图层,需要根据Form ...
Struts2作为一个流行的Java Web框架,为解决表单重复提交提供了多种方法。 首先,关于表单重复提交的原因,有以下几点: 1. 服务器或网络延迟导致用户多次点击提交按钮。 2. 用户在表单提交后刷新浏览器页面。 ...
在这个名为"Struts2表单数据获取项目"的资源中,我们将深入探讨如何使用Struts2框架来处理表单提交的数据。 首先,我们来看看核心组件`Struts.xml`。这是Struts2应用的主要配置文件,用于定义动作(Actions)、结果...
在Struts2中,表单标签是用于构建用户界面的重要组件,它们帮助开发者创建交互式和动态的网页。这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个...
在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例主要讲解的是使用XML文件进行表单验证的方法。 首先,让我们理解表单验证的基本...
在本实例中,我们将探讨如何利用Struts1.2实现动态表单注册,并结合验证框架来确保用户输入的有效性。 首先,我们需要了解Struts1.2的核心组成部分。Action类是处理用户请求的核心,它接收表单数据并进行相应的业务...
Struts1.2提供了动态表单验证功能,使得开发者能够更灵活、高效地处理用户输入验证。 动态表单验证的核心思想是将验证逻辑与业务逻辑分离,通过配置文件来定义验证规则,而不是硬编码在Action类中。这增加了代码的...
在Struts框架中,动态表单验证是一个关键特性,用于确保用户输入的数据符合业务规则,从而提高应用的安全性和用户体验。 动态表单验证指的是在运行时根据业务需求动态地生成验证规则,而不是静态地硬编码在程序中。...
在"整合了struts2 jquery的formValidator表单验证的页面代码"这个项目中,开发者可能采用了以下步骤: 1. **引入依赖**:首先,需要在HTML页面中引入Struts2的相关JSP标签库,同时引入jQuery库和formValidator的...
对于非Ajax的表单提交,Struts2同样支持动态方法调用。在HTML表单中,我们通常将Action方法的名称作为表单的提交动作。Struts2的配置文件(struts.xml)可以通过通配符来定义Action,使得一个Action能够处理多个...
在Struts2中,表单验证是确保用户输入数据准确性和完整性的关键部分。本篇将详细介绍Struts2的极速表单验证框架,特别是其注解方式的使用。 ### 1. 表单验证的重要性 在Web应用程序中,验证用户输入的数据是必不可...
Struts2框架提供了一种解决方案,即使用Token机制来防止表单的重复提交。以下是对这个主题的详细说明: 1. **表单重复提交问题**:当用户在提交表单时,由于网络延迟或用户误操作,可能会导致同一个表单被多次提交...
总的来说,这个压缩包提供了一个完整的Struts2注册表单实现,涵盖了MVC架构中的Model(Action)、View(JSP)和Controller(Struts2框架)。通过对这个示例的学习,你可以深入了解Struts2框架如何处理Web请求,如何...
struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2...