首先定义对象与Action,代码如下
package com.xx.domain;
public class Book {
private String id;
private String name;
private float price;
getter/setter方法略...
}
package com.xx.ui;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
public class SubmitBookList extends ActionSupport {
private List<Book> bookList=new ArrayList<Book>();
@Override
public String execute() throws Exception {
//遍历bookList,将null的删除
return super.execute();
}
getter/setter方法略...
}
创建SubmitBookList-conversion.properties放在SubmitBookList.java同目录下
内容为:
Element_bookList=com.xx.domain.Book
CreateIfNull_bookList=true
JSP前台:form中提交到后台的形如
<input type="text" name="bookList[0].id" value="001"/>
<input type="text" name="bookList[0].name" value="名称1"/>
<input type="text" name="bookList[0].price" value="11.0"/>
<input type="text" name="bookList[1].id" value="002"/>
<input type="text" name="bookList[1].name" value="名称2"/>
<input type="text" name="bookList[1].price" value="22.0"/>
<input type="text" name="bookList[2].id" value="003"/>
<input type="text" name="bookList[2].name" value="名称3"/>
<input type="text" name="bookList[2].price" value="33.0"/>
这样form提交到后台Struts便自动将对象组装到bookList中。
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/20100719/455506.html
分享到:
相关推荐
它的数据结构主要由对象(键值对)和数组(有序集合)组成。在Web应用中,JSON常用于前后端的数据传输,因为它可以被JavaScript直接解析,从而简化了客户端的数据处理。 Struts2 JSON插件的安装与配置是使用其功能...
`<s:set>` 赋值给变量,`<s:sort>` 对集合进行排序,`<s:submit>` 创建提交按钮,`<s:subset>` 输出集合的子集。 T. `, , , , <s:textfield>`: 创建选项卡面板、表格、国际化文本、文本区域和文本输入框。 U. `, ,...
在服务器端,Struts会自动将`items`属性的值解析为一个Item对象列表。注意,你需要确保在ActionForm类中提供相应的getter和setter方法,以便Struts框架能够正确地设置和获取List属性。 提交表单后,Action类接收到...
4. **提交与处理**:当用户提交表单时,Struts会自动将所有输入字段的数据绑定到ActionForm中的集合对象上。在Action类中,你可以通过`ActionForm`的getter方法获取到这个集合,并进行业务处理。 5. **数据库操作**...
在Struts1中,ActionForm类需要有一个对应的List字段来接收这些值,这样在提交表单时,Struts1的默认Binding机制会自动将这些值绑定到List中。 4. **配置文件**: 配置文件(struts-config.xml)需要添加相应的...
Struts2会根据表单元素的名字自动填充这些集合,`list[0]`会对应到`list`的第0个元素,`map['key']`会对应到`map`的键为`key`的元素。 3. **结果的展示**: 一旦Action处理完数据,我们可以使用`<s:iterator>`...
1. **如果数据量小于1000条**,考虑到后台Action定义数组的繁琐,在对象属性较多的情况下,推荐使用第一种方式(对象集合接收)。 2. **如果数据量大于1000条**,考虑到前端每次JavaScript操作可能会导致浏览器卡顿...
当用户提交表单时,Struts框架会自动将页面上的数据映射到ActionForm或Action类中的相应属性。对于List中的Map,它会根据表单元素的name属性来确定Map的键和值。例如,如果商品的名称输入框的name是`productList[0]....
1. **Action方法创建和填充list**:在后台的Action类中,我们需要创建一个list对象,然后填充数据。例如,假设我们有一个`User`类,我们可能会创建一个`List<User>`来存储用户信息: ```java public class ...
在这个例子中,`sort`标签并没有直接用于排序,而是通过提交表单触发Action的执行,Action根据Comparator对列表进行排序。在JSP页面中,用户可以改变`comparator.field`的值,从而改变排序的字段。 总结来说,`...
你可以通过`list`属性指定选项的来源,可以是集合、Map或者其他对象属性。`listKey`和`listValue`分别用来指定选项的键和值。例如,`listKey="id"`和`listValue="name"`会将集合中对象的id作为选项的键,name作为...
- `s:iterator`标签:遍历集合,例如`<s:iterator value="list">...</s:iterator>`,可以用来循环显示列表数据。 4. **优势** - **简化代码**:通过使用Struts2标签,可以减少HTML和JavaScript代码,使JSP页面...
List是一个有序的集合,可以按索引访问,适合存储一系列相关对象;而Map是一种键值对数据结构,通过键来查找对应的值,适合关联不同类型的属性。在处理复杂的请求参数时,List和Map能够提供灵活的数据管理方式。 4....
`list`属性指定选项列表,`listKey`和`listValue`分别对应列表项的键和值,`name`属性用于指定表单字段名。 4. **表单标签(form、textfield、textarea、password)** 这些标签用于创建HTML表单和输入元素。例如...
总之,“struts2 表单数据绑定map、list等.rar”涵盖了Struts2框架中关于表单数据绑定的核心概念,包括基本类型、复杂对象、集合类型以及相关的自定义扩展。掌握这些知识,将使你在使用Struts2开发Web应用时更加...
- `list` 和 `listKey` / `listValue`:在下拉列表或复选框中绑定数据,`list`是数据源,`listKey`和`listValue`分别对应键和值。 - `theme`:定义标签的样式主题,如 "simple"、"xhtml" 或 "ajax"。 4. **自定义...
- Action可能会查询数据库,并将结果集封装到一个集合对象中,如ArrayList或List。 - 随后,Action将这个集合对象放入到请求或session作用域中,以便JSP页面可以访问并显示数据。 3. 更新(Update)操作: 更新...
在Struts2.0中,这通常涉及到集合对象的使用,例如ArrayList或HashMap,来存储用户在表单中输入的数据。表单提交后,这些集合会被绑定到Action类的属性上,然后在后台进行处理。 批量提交的关键步骤如下: 1. **...
- `s:checkboxlist`、`s:radiolist`:多选框和单选框列表,用于多值选择。 - `s:submit`和`s:reset`:在表单中创建提交和重置按钮。 - `s:head`:插入JavaScript和CSS资源,支持CDN加速。 案例分析(以`struts...