在JavaEye论坛中看到jiangweilou提问“Struts2中多行数据怎么提交”,mcikevin的回答。
Struts2中支持使用List在页面和Action之间直接传递表格数据。下面是一个示例:
public class Person {
int id;
String name;
int age;
float height;
}
这是一个POJO,getter和setting省略了。
action中可以这样使用:
public class MyAction {
public List getPeopleList() { … }
public void setPeopleList( List peopleList ) { … }
…
}
在我们使用Person类之前,需要添加一个配置文件,MyAction-conversion.properties,把这个文件和MyAction放在一起。
这个文件里只有一行内容:
Element_peopleList=Person
前缀Element_是一个常量,表明等号左边的表达式中跟在这个常量后面的是Action类中一个List类型的字段名。
等号右边的表达式是全类名(包含package)
下面是一个页面的代码片段:
<s:form action="update" method="post" >
<s:iterator value="peopleList" status="stat">
<s:hidden name="peopleList[%{#stat.index}].id" value="%{peopleList[#stat.index].id}"/>
<s:textfield label="Name" name="peopleList[%{#stat.index}].name" value="%{peopleList[#stat.index].name}"/>
<s:textfield label="Age" name="peopleList[%{#stat.index}].age" value="%{peopleList[#stat.index].age}" />
<s:textfield label="Height" name="peopleList[%{#stat.index}].height" value="%{peopleList[#stat.index].height}"/>
<br/>
</s:iterator>
<s:submit value="Update"/>
</s:form>
使用这段代码,Struts2会创建一个Person类的ArrayList,并且用setPersonList这个方法把页面表格中的值传递回Action。
如果你是想从用户界面中动态创建列表值,需要允许Struts2给列表中类的实例。那么在配置文件MyAction-conversion.properties中添加一行:
CreateIfNull_peopleList = true
分享到:
相关推荐
标题"dao.zip_dao_java dao_java数据库连接_struts_struts dao"暗示了这个压缩包包含与DAO相关的内容,特别是关于Java中的数据库连接以及如何在Struts框架中应用DAO。 描述提到"java数据库连接,主要适用于struts...
下面我们将详细探讨Struts2框架以及如何在Java web应用中实现CRUD操作。 首先,了解Struts2的核心概念和组件: 1. **Action类**:在Struts2中,业务逻辑主要由Action类处理。每个Action类对应一个用户请求,负责...
SSH框架,全称为Spring、Struts2和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个实例源码提供了使用SSH框架进行基础开发的一个简单入门教程。 **Spring框架**: Spring是一个全面的后端应用程序...
`struts2_tag_api`则强调了标签API,这意味着文档将详细介绍如何在JSP页面中使用Struts2提供的各种标签。`struts2_tags_chm`暗示这份文档是中文版,方便国内开发者阅读和理解。 在`struts2-tags-API.chm`这个帮助...
在Struts2中,JSP(JavaServer Pages)常用于视图层的开发,通过Struts2的标签库,开发者可以轻松地在JSP页面上绑定Action中的数据,实现动态页面渲染。此外,CSS和JavaScript用于提升用户体验,如表单验证、交互...
在“UserInfoSys”的标签中,“flex_struts2_list”暗示了系统可能包含了列表展示功能。这通常涉及到Struts2的List类型Result,用于将后台数据集映射为前端的列表组件。在Flex端,这些数据会被渲染成可交互的列表...
本示例"MultiFileUpload_Struts2_多文件上传"旨在演示如何在Struts2框架下实现多文件上传功能。 首先,我们需要理解Struts2中的Action类,这是处理用户请求的核心。在多文件上传的场景中,我们需要创建一个Action类...
在Java Web开发中,FreeMarker和Struts2是两个非常重要的技术组件。FreeMarker是一个模板引擎,用于生成动态HTML、XML等文档,而Struts2则是一个基于MVC设计模式的Web应用框架。本篇文章将深入探讨如何在Struts2框架...
在Struts1.2中处理表单提交,特别是当表单数据包含列表对象时,需要理解一些核心概念和技术。这篇博客文章可能详细探讨了如何在Struts1.2中处理这类情况。 首先,让我们来了解Struts1.2中的表单提交流程。当用户在...
本篇文章将深入探讨如何利用Struts2实现批量提交数据的功能。 ### 一、批量提交的概念 批量提交是指一次性处理多个数据记录,而不是逐个处理。在Web应用中,这通常涉及到用户上传一个包含多条记录的数据文件,或者...
在Java Web开发中,Struts2框架以其强大的MVC架构和丰富的插件库深受开发者喜爱。Pager Taglib是Struts2的一个重要组成部分,它提供了分页功能,使我们能够轻松地处理大量数据的显示,提升用户体验。本文将详细介绍...
MyBatis、Spring和Struts2是Java开发中常用的三大框架,它们分别负责数据访问层(DAO)、业务逻辑层(Service)和表现层(Controller)。SSM框架的整合能够实现高效、灵活的Web应用程序开发。 1. **MyBatis**: ...
Struts2作为Java EE应用程序开发中的一个流行框架,极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,我们有许多内置的标签来帮助开发者更方便地处理表单元素,例如`<s:select>`和`<s:doubleselect>`...
- **ValueStack演示**:通过具体的示例介绍如何在Struts2中使用ValueStack来管理数据,如如何添加对象到ValueStack中、如何从ValueStack中取出对象等。 ### 分页功能实现 - **分页02** 案例描述了如何在Struts2...
在这个例子中,我们展示了如何通过Struts框架将客户端多行数据转换为ActionForm的List属性,以及如何在服务器端处理这些数据。这是一个常见的需求,特别是在处理批量操作或复杂表单时。了解并熟练掌握这种技巧对于...
Struts2的JSON插件正是为了方便开发者在Struts2框架中处理JSON数据而设计的。 首先,让我们深入了解JSON。JSON是一种独立于语言的数据交换格式,具有易于人阅读和编写,同时也易于机器解析和生成的特点。它的数据...