`
pingchajava
  • 浏览: 30307 次
  • 性别: Icon_minigender_1
  • 来自: 常德
社区版块
存档分类
最新评论

struts 批量封装数据

阅读更多

Struts 的批量封装有几种方法:

1、  form 来封装

2、  用动态form

3、  用隐藏域

 

这里主要介绍用动态form 来进行封装

1步:在struts.xml中写actionform写映射

 <form-bean name="dynaTravelForm" type="org.apache.struts.validator.DynaValidatorForm">
		    <form-property name="saction" type="java.lang.String"></form-property>
		  	<form-property name ="resourceNotices" 
                type ="com.bsteel.baointl.baotong.contract.form.BtTravelResourceForm"/>
		</form-bean>

 

 

2步:写相关的form 类

  

//BtTravelResourceForm  类
public class BtTravelResourceForm {
	private static final long serialVersionUID = 1L;
	private int id ;
                //相关的javaBean内的一些集合
	private List traveResources = new AutoInitArrayList(BtTravelResource.class);
	private String saction;
}

//AutoInitArrayList 类
public class AutoInitArrayList extends LinkedList{
	private static final long serialVersionUID = 1L;
	/** 容器内保存的类 */
    private Class clazz; 
    /**私有构造函数,保证外界无法直接实例化*/
    private AutoInitArrayList() {
    }
    public AutoInitArrayList(Class clazz) {
        this.clazz = clazz;
}

 

3步:在Action类获得封装的对象

 

protected ActionForward execute(ActionContext context) throws Exception {
		
		DynaValidatorForm frm = (DynaValidatorForm) context.getForm();
BtTravelResourceForm btf=(BtTravelResourceForm)frm.get("resourceNotices");
List list = btf.getTraveResources();  //获得所有页面上的对象

 

4步:在页面上写映封装数据时的映射

<%
     int i = 0;
    for (int j =0;j<10;j++){
%>
  <tr align="center">
       <td><%=++i %></td>
        <td><INPUT type="text"  
//注意name 的命名
name="resourceNotices.traveResources[<%=i-1 %>].client" value="" size="8" /></td>
  .......
</tr>

 

二、 form 的方法 就继承ActionForm,form 中定义Model类的集合,然后在页面上定义即可

 

三、用隐藏域的方法 ,在每个要封装的对象面前,放一个隐藏域,一个隐藏域,封装一个对象,把它的属性用字符串连接,存储到隐藏域的值中,然后再把隐藏域中的值拿出来

getparamsNames 拿出隐藏集合,再用字符串分割来获取每个属性

 

 

 

 

分享到:
评论

相关推荐

    Struts 1.x中批量封装对象

    批量封装对象是Struts 1.x中处理大量数据时常用的一个技巧,它能有效地提高开发效率并减少代码量。 首先,让我们理解什么是批量封装。在处理表单提交或者数据导入等场景时,我们可能需要一次性处理多个相似的对象。...

    struts2批量提交数据

    在处理批量数据提交时,Struts2提供了一种高效的方法来管理并存储大量数据到数据库。本篇文章将深入探讨如何利用Struts2实现批量提交数据的功能。 ### 一、批量提交的概念 批量提交是指一次性处理多个数据记录,而...

    Struts2关于批量提交数据-解决方案

    ### Struts2批量提交数据解决方案 在Web应用开发过程中,特别是在使用Struts2框架时,经常需要处理大量的数据提交操作。这些数据可能来自于用户输入或者是系统内部的数据迁移等场景。对于这种需求,本文档将详细...

    Struts2批量插入

    表单提交时,数据可以被Struts2的表单绑定机制自动封装到`dataList`中。 在实际开发中,我们可能会遇到性能优化的问题。例如,当数据量非常大时,一次性处理可能会导致内存压力和数据库连接池耗尽。这时,可以采用...

    Struts2批量上传

    当客户端提交包含文件字段的表单时,Struts2会将这些文件字段封装为`File`对象数组,并提供相应的属性来访问文件的元数据(如文件名、类型等)。这种设计允许开发者在Action类中直接处理多个上传文件,而无需额外...

    struts1 poi Excel批量导入支持xls和xlsx-源码java

    在本项目中,"struts1 poi Excel批量导入支持xls和xlsx"是一个基于Struts1和POI实现的功能,它允许用户批量导入Excel数据,无论是旧版的.xls格式还是较新的.xlsx格式。 首先,我们需要了解Apache POI的基本用法。...

    struts2 annotation 批量下载

    知识点:Struts2框架下的注解批量下载实现与临时文件管理 在Struts2框架中,使用注解(Annotation)可以极大地简化控制器类的配置,提高代码的可读性和维护性。本文将深入探讨如何利用Struts2的注解功能实现批量...

    Struts1.2 formfile实现批量上传

    在Struts1.2框架中,FormFile是用于处理文件上传的一个关键组件,尤其是在实现批量上传功能时。本文将深入探讨如何使用FormFile在Struts1.2中实现实现批量文件上传,以及相关的技术要点。 一、Struts1.2简介 Struts...

    Struts2 批量接收页面 checkbox 或对象数据 源码(有图有真相)

    前台checkbox提交的数据,Struts2在后台自动封装成数组/List。 but 前台向后台批量提交对象数据,struts2就显得力不从心了,本案例着重介绍,批量向后台提交对象数据,源码,有图有真相哦! 欢迎交流、吐槽、指导...

    extjs struts2 多图片批量上传控件

    在批量上传过程中,Struts2接收前端发送的文件数据,并处理这些文件的存储和业务逻辑。它通常使用Action类来处理请求,配合Interceptor拦截器处理上传过程中的验证、权限检查等任务。Struts2的配置文件(struts.xml...

    struts2数据导入导出

    4. **定义值对象**:创建值对象`Student`和`ExcelWorkSheet`用于封装数据。 - `Student`类包含学生的基本信息,如ID、姓名、性别和生日等。 - `ExcelWorkSheet`类封装Excel工作表的信息,包括工作表名称、列名和...

    struts框架中formFile批量上传图片

    `FormFile`是Struts的`org.apache.struts.action.ActionForm`类的一个属性,它提供了对上传文件的封装,包括文件名、临时存储路径、文件类型等信息。在用户提交包含文件上传的表单时,`FormFile`对象会被Struts的...

    struts2与hibernate的整合实现数据的crud

    `使用需知.txt`可能包含了整合过程中的注意事项和步骤,例如如何配置Struts2的拦截器来支持Hibernate的事务管理,或者在JSP页面中如何正确绑定数据到表单元素,以及如何处理可能出现的异常等。 `Tabletemplate`可能...

    Struts2 poi动态导入导出Excel源码示例

    Struts2会自动将这些信息封装到Action中。 3. **使用POI读取Excel**: POI提供了API来操作Excel文件。使用`HSSFWorkbook`类读取.xls文件,或`XSSFWorkbook`类读取.xlsx文件。通过`Sheet`对象获取工作表,再通过`...

    图书查询_struts_cooloyj_图书模糊查询及删除_

    Form Bean则用于封装用户输入的数据,从视图传递到Action,再由Action传递给模型进行处理。在这个图书查询系统中,可能会有一个`BookForm`类作为Form Bean,用于存储用户输入的模糊查询条件。 3. **配置文件与请求...

    Ext 存储过程 struts

    在Java Web应用中,存储过程可以被用作后端的数据处理中心,执行批量处理、事务管理或者复杂的查询。与直接在应用程序中执行SQL相比,使用存储过程可以提高性能,减少网络传输,增强安全性,并且可以更好地封装...

    struts实例应用项目

    ActionForm对象用于封装用户输入的数据,并在Action和模型之间传递。在本项目中,Action类和ActionForm将用于处理用户的登录、信息添加、删除等操作。 Struts标签是Struts框架提供的一套JSP标签库,可以简化页面的...

    struts2+spring+hibernate整合实例

    6. **最佳实践**:在实际项目中,应遵循模块化和分层设计原则,将业务逻辑、数据访问和视图展示分别封装。同时,利用Spring AOP进行日志记录、权限控制等跨切面关注点的处理。对于性能优化,可以使用缓存策略、批量...

    ssh整合的分页、批量删除

    5. **安全性考虑**:在实现批量删除时,需要防止恶意用户通过修改请求参数导致大量数据被误删。可以通过校验用户权限、确认待删除数据的合法性等方式来增加安全性。 综上所述,SSH整合在分页和批量删除方面提供了...

Global site tag (gtag.js) - Google Analytics