在Struts2使用集合对象保存表单提交参数
来源:互联网 发布:imagesloaded.min.js 编辑:程序博客网 时间:2024/06/04 23:20
先上图,有这样的业务场景,一次表单提交需要批量添加n本书籍的信息
我们来看下如何用Struts2的特性来一步搞定它!
1.创建model类Book
package com.crazycoder2010.struts2.bean;public class Book {private String name;private int price;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}}2.编写业务处理Action类AddBookAction
package com.crazycoder2010.struts2.action;import java.util.ArrayList;import java.util.List;import com.crazycoder2010.struts2.bean.Book;import com.opensymphony.xwork2.ActionSupport;public class AddBookAction extends ActionSupport {private static final long serialVersionUID = 8136233165580827673L;private List<Book> books = new ArrayList<Book>();public List<Book> getBooks() {return books;}public void setBooks(List<Book> books) {this.books = books;}@Overridepublic String execute() throws Exception {for(Book book : books){System.out.println(book.getName()+":"+book.getPrice());}return SUCCESS;}}3.编写页面add_book.jsp
<%@ taglib prefix="s" uri="/struts-tags"%><html> <head> </head> <body> <s:form action="addBook" method="post"> <s:iterator value="new int[3]" var="book" status="status"> <label>Name:</label> <s:textfield name="%{'books['+#status.index+'].name'}" theme="simple"></s:textfield> <label>Price:</label> <s:textfield name="%{'books['+#status.index+'].price'}" theme="simple"></s:textfield> <br/> </s:iterator> <s:submit value="Add"></s:submit> </s:form> </body></html>这个表单中我们模拟创建3个book信息,每个book有name和price属性,这里需要特别注意的是表单元素的命名需要和我们AddBookAction中的List<Book> books 保持一直,名字分别为books[0].name,books[0].price;books[1].name,books[1].price,依次类推
4.在AddBookAction类同目录下建立一个AddBookAction-conversion.properties文件,内容如下
Element_books=com.crazycoder2010.struts2.bean.Book其中Element_作为前缀books就是这个AddBookAction中用来接受list参数的参数名
5.Run it!
结果展示出我们的action已经可以接受页面提交过来的批量表单参数,这是struts2的一个非常有用的功能
- 在Struts2使用集合对象保存表单提交参数
- 在Struts2使用集合对象保存表单提交参数
- Struts2 参数 表单 提交 对象 POJO 方法大全
- Struts2 参数 表单 提交 对象 POJO 方法大全
- Struts2 参数 表单 提交 对象 POJO 方法大全
- Struts2支持表单多对象提交
- SpringMVC form表单提交list对象集合
- 使用FormData对象提交表单
- 使用struts2提交jsp页面表单时参数中汉字乱码的问题
- struts2中form表单使用post方式提交参数(键值对)超过10000的限制
- struts2 使用标签防止表单重复提交
- struts2表单提交action路径传参数不成功
- struts2表单提交的中文参数后台乱码问题解决
- 使用FormData对象提交表单-上传附件
- 利用formData,在使用form表单提交参数(或者文件)时,处理回调函数
- 在 SpringMVC 中对表单提交参数进行验证(使用 Bean Validator)
- struts2 提交表单
- Struts2 表单提交 POJO
- STL中list的使用
- 第一次烧录Linux
- 了解WCF定制的绑定类型(1)_信道范型支持
- VS2010中设置字符集不使用Unicode
- android组件之Content Provider
- 在Struts2使用集合对象保存表单提交参数
- VxWorks下Shell调试总结
- C++标准库简介(转)
- 分享一下,树形数据窗口双击那一层自动展开或收缩(数据窗口DoubleClicked事件中处理)
- 获取网络图片更新ui
- Linux 2.6内核新变化
- Android设置透明的Activity
- 为所有实体关闭延迟加载
- 关于<rich:popupPanel>中的<h:inputText>不能正确修改后台的值 的问题