近段日子项目需要做一个向form里提交list的操作,从网上找了不少信息,虽然还是有些地方不理解,但终于还是将这个功能实现了。现在总结一下,有的地方我不了解标注了一下,也希望大虾给个解释,不胜感激。也希望能给需要的兄弟们一些信息。
首先,我们需要的list的要继承java.util.ArrayList重新定义一个OurList, 并重写了public Object get(int index)接口,防止越界,这个类是关键之所在,切记!!!
public class OurList extends ArrayList {
private static final long serialVersionUID = 1L;
private Class itemClass;
public OurList(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);
}
}
然后,就要在ActionForm中声明我们需要的list:
public class OurActionForm extends ActionForm{
private List neededList = new OurList<needClass>();//needClass为指定数据对象
get();set();方法
}
再就是在jsp页面中的显示:
1.对于html:text格式如下:
<logic:iterate id="needed" name="OurActionForm" property="neededList" indexId="index">
<tr>
<td align="left" width=3%><html:checkbox name="needed" property="argument" indexed="true"/>//indexed属性不能忘掉,用它来逐一遍历list中的记录。
</td>
2.对于html:hidden格式如下:
<logic:iterate id="needed" name="OurActionForm" property="neededList" indexId="index">
<html:hidden ame="needed" property="argument" indexed="true"/>
这样我们就完成可以多行数据提交的ActionForm设计,这里还有点提醒,如果从浏览器端传过来的行索引是跳跃是的,如缺少中间行,而你不想要这些数据的话,且首尾行index相差很大的话,(这个地方不太懂)这种方式可能不太适合。这种多行提交形式比较适合对固定行的数据处理。
分享到:
相关推荐
在Java服务器页面(JSP)技术中,批量删除通常指的是在一个Web应用中处理大量数据记录的删除操作。这种操作常见于数据库管理、文件系统管理或其他需要处理集合对象的场景。以下将详细介绍如何在JSP中实现批量删除的...
在Action类中,我们可以定义一个List类型的属性,用于存储用户提交的批量数据。 ```java public class BatchSaveAction extends ActionSupport { private List<DataModel> dataList; // getter and setter for ...
在Java服务器页面(JSP)中,批量删除功能是一个常见的需求,特别是在管理界面中,用户可能需要一次性删除多个记录。本教程将详细讲解如何利用JSP和复选框实现批量删除的功能。 首先,我们需要理解JSP的基本结构和...
在本文中,我们将深入探讨如何使用Java Server Pages (JSP) 实现批量多文件上传功能,特别是图片上传。批量文件上传是许多Web应用程序的核心需求,它允许用户一次上传多个文件,提高了用户交互体验。JSP作为Java的一...
综上所述,通过SSH框架的不同层(DAO层、Service层、Action层以及前端JSP页面)之间的紧密配合,实现了对数据库数据的有效批量删除。这种设计模式不仅提高了系统的开发效率,还增强了系统的可维护性和扩展性。
如果表单里有文件类型,提交时一定要加上enctype="multipart/form-data" --%> <form action="/MonkeyShopping/manage/admin_doproductadd" method="post" enctype="multipart/form-data" id="myform" name="myform">...
在描述中提到的是“最佳”的上传附件控件,这可能是指一个自定义的组件,它可能包含了一些增强功能,如批量上传、自定义文件大小限制以及将文件存储在数据库中以防止丢失。以下是一些实现这个功能的关键步骤: 1. *...
在本文中,我们将探讨如何在Struts框架中实现批量上传文件的功能。批量上传文件是许多Web应用程序中常见的需求,例如创建文件资源中心或类似163网盘的功能。以下是如何使用Struts实现这一功能的详细步骤。 首先,...
4) 通过JSP中的标签的href属性 或 form的action属性 或 js代码的自定义提交方法进行跳转到Servlet层 5) Servlet层调用Dao层的操作数据库的方法,包括: 数据库的增删改查。添加、删除、查询、多表查询、模糊搜索。 ...
### S2SH+JQuery的Checkbox批量选择并在Action中获取数据 #### 一、背景介绍 在Web开发中,批量操作是一种常见的需求场景,尤其是在管理后台系统中,用户经常需要对多条记录进行批量处理,比如批量删除、批量启用...
在JSP页面中,我们可以使用`<input type="file" multiple>`标签让用户选择多个文件。例如: ```html <form action="uploadServlet" method="post" enctype="multipart/form-data"> []" multiple> </form> ``` ...
CFUpdate批量上传组件选择多个文件上传,显示上传速度,进度条,纯正的FLASH代码,使用的是HTTP协议,所以客户端,服务端都不需要安装任何组件因为是模仿FORM表单提交,所以支持所有的网页动态语言:ASP ...
CFUpdate批量上传组件选择多个文件上传,显示上传速度,进度条,纯正的FLASH代码,使用的是HTTP协议,所以客户端,服务端都不需要安装任何组件因为是模仿FORM表单提交,所以支持所有的网页动态语言:ASP ...
因为是模仿FORM表单提交,所以支持所有的网页动态语言:ASP PHP ASP.NET JSP等 CFUpdate组件 1.1.8 版 增加了a.adjustOrder 属性,可以设置是否可以拖动条目,手动排序列表 增加了a.deleteAllShow 属性,可以...
因为是模仿FORM表单提交,所以支持所有的网页动态语言:ASP PHP ASP.NET JSP等 CFUpdate组件 1.1.8 版 增加了a.adjustOrder 属性,可以设置是否可以拖动条目,手动排序列表 增加了a.deleteAllShow 属性,可以...
在JSP页面上,使用`s:form`标签创建表单,并指定enctype为“multipart/form-data”。添加`s:file`标签来创建文件输入框,可以创建多个。例如: ```jsp <s:form action="upload" enctype="multipart/form-data"> ...
在JSP页面中,使用`<html:file>`标签为每张图片创建一个输入框,允许用户选择文件。每个`<html:file>`标签都需要一个唯一的name属性,以便在服务器端区分不同的文件。 5. **Action类**: 在Action类中,我们需要...
在JSP页面中,我们需要创建一个`multipart/form-data`类型的表单,让用户选择要上传的文件。例如: ```jsp <form action="upload" method="post" enctype="multipart/form-data"> 上传"/> </form> ``` 这里,`...
在HTML或JSP页面上,创建一个包含多个`<input type="file">`的表单,用户可以选择多个文件进行上传。 ```html <form action="upload.action" method="post" enctype="multipart/form-data"> </form> ``` 3...