struts1 formbean 集合对象List提交问题。

问题描述

formbean里有个List属性items,打开页面时初始化5个内嵌对象items.add(new Item()),提交页面到Action时,发现会访问50次getItems()方法(方法里我有打印信息),10倍于我初始化的对象。请问这是为何?form再填充这种集合对象是到底是如何工作的,会不会很影响性能?页面显示是用:<logic:iterate id="items" name="xxxForm" property="items" indexId="index"></logic:iterate> 问题补充:谢谢,自己把struts的debug信息输出看了一下,原来每个item有10个属性,所以每个item要填充10次:getItems().get(index).getItem().setXXX()......

解决方案

后台获取的数据没有错吧?具体机制还这不知道,应该是getItems()获取List,然后再add吧。数据没错就行。性能不会影响太多

时间: 2024-08-04 00:06:13

struts1 formbean 集合对象List提交问题。的相关文章

java springmvc-SpringMVC如何获取集合对象

问题描述 SpringMVC如何获取集合对象 我在页面有多个对象,提交的时候在后台应该怎么获取这多个对象呢? 都是同一个实体类 查找了一些网上的资料 有的说在后台的controller 方法里面写一个 List user 前台用user[0].name user[1].name来表示属性 但是我试过之后发现这样是会报错的. SpringMVC有没有自动封装集合对象的功能啊? 请大家帮帮忙. 解决方案 可以这样处理 如: public class User { private Long id; p

C# 3.0新特征之创建和初始化集合对象

创建|对象|集合 一. 引言 C# 3.0中新的对象初始化器是一种简单的语法特征-借助于这种特征,对象的构建和初始化变得非常简单.假定你有一个类Student,它看起来有如下样子: public class Student{ public string firstName; public string lastName;} 那么,你可以使用对象初始化器来创建这个类的一个对象,如下所示: var student1 = new Student{firstName = "Bruce", la

ATL开发技巧之一(集合对象的实现)

通常对象集合时要用到枚举器,但枚举器的实现主要是为了集合对象的访问控制,我们可以用CComEnumOnSTL模板去定义自己的枚举器,这样会涉及复杂的复制策略定义及集合方法实现的定义. 假如我们不使用枚举器,而仅使用接口数组,集合对象会有一个相对简单许多的实现,本文将探讨这种方法的实现并提供完整的源代码. 下面针对例子介绍用接口数组实现的集合对象,供大家参考: 集合对象创建类:CvoxSys 接口:IVoxSys 集合对象类:CvoxChs 接口:IVoxChs 子对象类:CvoxCh 接口:IV

C#集合对象的属性赋值

(一)前言 继<对象属性之间的相互赋值 >后,关于集合对象属性的赋值,主要可以通过循环遍历集合中的对象来进行属性间的赋值.这些可以运用于不同对象之间.相关属性类似的情况.最常见的是web services与silverlight之间的对象赋值(对象之间的属性值只有一部分是需要的),这样可以减少silverlight对web services的依赖. (二)具体实现 通过反射将源对象与目标对象之间的属性赋值.源对象的属性名.属性类型必须与目标对象的属性名.属性类型一致,并且源对象的属性必须是可读

C#编程利器之五:集合对象(Collections)

记得教科书上有这样一句话:"如果需要使用同一类型的多个对象,就可以使用集合和数组." ,是的, 没有错.只是数组的大小是固定的.如果元素个数是动态的,就应使用集合类.在.NET Framework里,集 合有很多,如List<T>和ArrayList是与数组相当的集合类.还有其他类型的集合:队列.栈.链表 和字典.本文不会对这些集合对象作详细的介绍,只是把常用的集合对象拿出来讨论一下. 一.数组 在实际应用中,数组又可分为:简单数组.多维数组.锯齿数组.Array数组.使用

java多线程读取集合对象后写入同一文件

问题描述 java多线程读取集合对象后写入同一文件 有一个学生对象,包含学号.姓名.班级属性 生成10个学生对象后放入集合中 运用多线程读取集合中学生对象后将学生信息写入到同一文件(按学生学号排序) 本人多线程实在不会,求大神解答.(不实现排序的也行)主要是能有多线程方面的代码提供下参考 解决方案 文件写使用多线程要加锁,还不如用单线程,你这是要干嘛

link中如何获得迭代对象依赖的那个集合对象?用发射能做到么?

问题描述 link中如何获得迭代对象依赖的那个集合对象?用发射能做到么? link中如何获得迭代对象依赖的那个集合对象?用发射能做到么? 解决方案 自己写一个扩展方法:static class MyLinq{ public static void MyForeach<T>(this IEnumerable<T> data Action<IEnumerable<T> T> action) { foreach (T item in data) action(da

Objective-C之集合对象的内存管理

集合对象的内存管理 本小节知识点: [掌握]集合对象的内存管理 [理解]集合对象内存管理总结 1.集合对象的内存管理 当一个对象加入到集合中,那么该对象的引用计数会+1 当集合被销毁的时候,集合会向集合中的元素发送release消息 NSMutableArray *arr = [[NSMutableArray alloc] init]; Person *p = [[Person alloc] init]; NSLog(@"retainCount = %lu", [p retainCou

java IO之 序列流 集合对象Properties 打印流 流对象

序列流 也称为合并流. SequenceInputStream 序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从 第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达 包含的最后一个输入流的文件末尾为止. 注意: 构造函数 SequenceInputStream(InputStream s1, InputStream s2) SequenceInputStream(InputStream s