在项目开发中遇到了这样一个问题,在一个专辑下修改所有的照片(photo)每一张照片是一个对象 对应数据库一条记录。(这里包括对专辑的修改),所有提交的时候需要批量跟新。问题出现在这里,如何让action 来接收 每一个Photo对象呢?需要在action 里面定义一个List对象。下面我写了示例:
public class photo{
private Long id;
private String name;
private Ablum ablum;
}
这样的一个POJO,get set 方法这里就不写了。
Action 类:
photoAction extends ActionSupport{
private static final long serialVersionUID = -2214185401853527261L;
这里定义一个 List
List<Photo> photoList; get set 方法();
}
只定义了以上这些还不够,还需要添加一个配置文件,photoAction-conversion.properties 把这个文件跟action 放在一起。
文件内容:
Element_photoList=com.oneconn.car.club.model.CarClubPhoto
前面是固定的,后面是action中的属性名 =后面为所要转换的类型
页面使用 iterator 迭代,注意:以下是在FTL里面使用struts标签的写法。
<s.iterator value="photoList">
<div class="bj_t">名 称:</div>
<div class="l">
<span class="it_s">
<@s.textfield size="20" maxlength="32" name="photoList[%{#cp.index}].photoName" value="%{photoList[#cp.index].photoName}"/>
</span>
</div>
...
</s.iterator>
<input type="submit" class="rb1" title="保存修改" value="保存修改" id="btn_bc">
使用这段代码,Struts2会创建一个Photo类的ArrayList,并且用setPhotoList这个方法把页面 属性中的值传递回Action。
分享到:
相关推荐
至于"unicom"这个文件名,可能是指一个具体的案例或示例项目,它可能包含了处理Struts1.2表单提交的代码和配置。如果能访问到这个项目,可以更深入地学习Struts1.2处理包含列表对象的表单提交的实践细节。 总结来说...
3. **配置Struts2**:在Struts2的配置文件(struts.xml)中,我们需要为批量提交的Action定义一个映射。 ```xml <result name="success">/success.jsp <result name="input">/input.jsp ``` 4. **处理请求**:...
启用插件后,你可以定义一个Struts2的动作(Action),并声明返回类型为`json`。例如: ```java public class MyAction extends ActionSupport { private String message; // Getters and Setters @Override ...
在Struts2的Action中,我们需要一个字段来接收这个JSON数组。由于Java没有内置的JSON类,我们可以使用第三方库如Gson或Jackson来帮助解析JSON。这里以Gson为例: 1. 首先,在项目中引入Gson库: ```xml <groupId>...
在Struts框架中处理多行数据提交的问题是一个常见的开发场景,尤其当涉及到表格形式的数据录入时。本文将深入探讨如何在Struts框架下实现多行数据的动态添加与提交,结合给定的代码示例进行详细解析。 ### Struts...
在Java Web开发中,Struts框架是一个非常流行的MVC(模型-视图-控制器)架构,它简化了处理用户请求和展示响应的方式。当我们需要在客户端提交多行数据时,通常会利用表单来收集信息,然后将这些数据传递到服务器端...
在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...
批量封装对象是Struts 1.x中处理大量数据时常用的一个技巧,它能有效地提高开发效率并减少代码量。 首先,让我们理解什么是批量封装。在处理表单提交或者数据导入等场景时,我们可能需要一次性处理多个相似的对象。...
返回结果通常是一个List或单个对象,通过Struts2的Result类型映射到页面显示。 更新操作(Update):更新操作涉及找到要修改的对象,更新其属性,然后保存。Action方法将接收用户提交的更新信息,更新对象并调用DAO...
Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。在Struts2中,提供了丰富的标签库来简化视图层的开发,其中包括`sort`标签,它允许我们在JSP页面上对数据集合进行排序。这个实例将深入...
Struts2是一个强大的Java web框架,它极大地简化了MVC(模型-视图-控制器)应用的开发。在Struts2框架中,标签库是其重要组成部分,它提供了丰富的标签来帮助开发者更方便地构建用户界面。`struts2-tags-API`就是...
在Struts1中,ActionForm类需要有一个对应的List字段来接收这些值,这样在提交表单时,Struts1的默认Binding机制会自动将这些值绑定到List中。 4. **配置文件**: 配置文件(struts-config.xml)需要添加相应的...
Struts2是一个强大的MVC框架,它极大地简化了Java Web应用程序的开发。在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,用于简化视图层的编码,提高代码的可读性和可维护性。下面我们将详细...
例如,为了实现创建图书的操作,可以在`BookAction`类中添加一个名为`createBook`的方法,该方法接收用户提交的表单数据,创建一个新的`Book`对象,并调用`BookDao`类中的`storeBook`方法将其保存到模拟数据库中。...
2. **文件选择控件**:表单中需要包含至少一个`<input type="file">`组件让用户选择文件。 3. **编码类型**:表单的`enctype`属性必须设置为`"multipart/form-data"`,这是因为只有这种编码类型才能正确处理文件数据...
Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的应用程序。Struts2的设计目的是为了替代传统的Servlet技术,并提供一种更加简洁、高效的...
- 在Action类中,我们需要创建一个类型为`java.util.List<org.apache.struts2.dispatcher.multipart.FileItem>`的字段来接收上传的文件。每个FileItem对象代表一个上传的文件项,包含文件名、大小、内容等信息。 -...
Struts2是一个强大的Java EE应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用程序。在Struts2中,标签库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更加专注于业务逻辑而不是繁琐的...
Struts2标签库是Java Web开发中的一个强大工具,它为开发者提供了丰富的UI组件和控制逻辑,极大地简化了视图层的代码编写。Struts2框架的标签库基于OGNL(Object-Graph Navigation Language)表达式语言,使得在JSP...
5. **事务管理**:由于多个数据库操作可能需要在一个事务中完成,因此需要管理事务的开始、提交和回滚。这通常在Service层实现,Service类调用DAO方法,并在需要的地方开启和结束事务。 6. **分页查询**:在描述中...