struts2中迭代不同类型对象的测试

在平时使用 s:iterator 这个迭代标签,一般我们都是把一个 相同类型的多个对象放入一个集合当中,那么,是否可以放入不相同的对象来迭代呢? 日常工作有时候可能是需要这样来简化程序的,我今天测试了一下,好像完全可以

第一步:

我建立了两个不同的POJO类,

public class Feng {private String lou;private String feng;}public class FengFeng {private String a;private String b;}

当然需要提供他们的getter和setter方法。

第二步:

在struts2的action中声明一个List 属性

private List li;

也提供setter方法

在相应的execute方法中将不同类型的对象加入li这个属性中

Feng f1=new Feng();     f1.setFeng("feng");     f1.setLou("lou");     Feng f2=new Feng();     f2.setFeng("feng1");     f2.setLou("lou1");     FengFeng a1=new FengFeng();     a1.setA("a");     a1.setB("b");     FengFeng a2=new FengFeng();     a2.setA("a1");     a2.setB("b2");     li=new ArrayList();     li.add(f1);     li.add(f2);     li.add(a1);     li.add(a2);

测试方便,我手工实例化了

第三步:

在页面迭代,也就是最重要的部分,我在s:iterator 中加入了一些判断,从而实现了不同类型对象的迭代

<s:iterator value="li"><s:if test="feng!=null"><s:property value="feng"/>!!<s:property value="lou"/></s:if><s:if test="a!=null"><s:property value="a"/>!!<s:property value="b"/></s:if></s:iterator>

页面显示效果如下:

feng!!lou feng1!!lou1 a!!b a1!!b2

哈哈!成功了! 这样就可以实现灵活的迭代了,很实用哦!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 对象
, private
, 迭代
, 类型
, s:iterator遍历
不同
struts2判断对象类型、struts2迭代标签、struts2迭代器、struts迭代标签、struts2迭代list,以便于您获取更多的相关知识。

时间: 2024-12-31 12:07:47

struts2中迭代不同类型对象的测试的相关文章

在Struts2 中 怎样通过ActionInvocation对象 获得访问者的ip

问题描述 在Struts2 中 怎样通过ActionInvocation对象 获得访问者的ip :好像是在getInvocationContext()里面 , 各位帅哥美女 !大哥大姐 ! 小弟菜鸟一个!请求支援啊 问题补充:laorer 写道 解决方案 Struts2中获得request及ip//在struts2中获得request HttpServletRequest request = ServletActionContext. getRequest(); //获得ip地址(防止代) pu

【转】Struts2中转换Date类型的问题

好久没有写Blog了,最近似乎变懒了.今天上班没有很多事,于是把之前遇到的一个问题记录下来. Web开发会涉及到很多类型转换的情况.我们知道,页面中的一切值都是字符串类型,而到后台,我们需要的可能是其他各种类型:同时,页面显示也是字符串类型.这就涉及到Web中基本的类型转换问题:从String转换为各种类型与从各种类型转换为String类型. 在Java Web开发中,进行上述转换一般有以下几种:1.在Servlet中,这一切的转换我们得自己写代码完成:2.在Struts1.x中,我们通过apa

如何在HTML页面中用Jquery取得Struts2中Seesion存储的对象

问题描述 像这样取值不行,好像是jquery和EL表达式冲突,网上说要加<%@ page isELIgnored="false"%>可是HTML中怎么加呢?不知道有什么方法可以解决.谢谢! 问题补充:<br /><img src="http://dl.iteye.com/upload/attachment/557727/f1c4dd7c-c0a4-394b-a937-fbde717c61be.jpg" /><br />

再谈“在STL列表(Lists)中插入不同类型的对象”

看到贵网站上的一篇文章:"在STL列表(Lists)中插入不同类型的对象".我觉得该文回答还没有指出问题的本质,所以本人提出我的观点,恳请指正.本人认为,错误产生的原因在于指针转化过程中,程序没有指出该指针最初的原型,或者说,由于未找到正确的子类函数地址才发生调用错误的,本人原代码如下:用Dev-cpp的g++编译通过. #include<iostream> #include<algorithm> #include <vector> #include

在STL列表(Lists)中插入不同类型的对象

[问题]: 我的目的是创建一个不同类型对象的容器.首先从同一个类派生了所有需要的类,然后将它们压入容器中.请看下列代码: synObject为基类,synPin 和 synPin 是从基类中派生的子类,class synObject { public : synObject(); string GetClass(); string className; }; synObject::synObject() { className = "synObject"; } string synOb

有关struts2中的表单标签回显查询到对象的某个属性值

问题描述 有关struts2中的表单标签回显查询到对象的某个属性值 action中的方法: public String userEdit() { elecUser=elecUserService.findById(elecUser.getUserId()); // ActionContext.getContext().getValueStack().pop(); ActionContext.getContext().getValueStack().push(elecUser); return "

Javascript学习1 - Javascript中的类型对象

原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象.         常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个方法:toLocalString()                     number.toFixed(digits) 把numberl转换为小数,digits代表小数几位.         常用的与Number对应的全局函数:isNaN(vars) 判断vars是不是数字,  

OO中,先有对象还是先有类?

就是问,在面向对象思想里,先有对象还是先有类,乍一看和先有鸡蛋还是先有鸡是一类问题,其实不然!这个问题,在lz考研复试的时候被面试官问过,一模一样,如今又在一个笔试题里看到了类似的题目,眨一下,有人会说,没有类,哪里来对象呢?其实不然,这个问题很经典,考的就是oo思想和软件工程的意识. 我经历之后的收获:面对问题,首先分析提问的角度,看清问题 这样问,显然对方是在考察被考者,oo思想掌握程度和软件工程的意识,都说在OO中,换句话就是在面向对象思想里(包含各行各业)--自然不需要在乱想什么内存角度

AspectJ和模仿对象的测试灵活性

用"test-only"行为增强单元测试 简介: 在开发过程中结合了单元测试的程序员都了解这样做带来的好处:代码更简洁,敢于重构.速度更快.但即便是最执著的单元测试者,在碰到测试行为依赖于系统状态的类的情况时,也会显得信心不足.Nicholas Lesiecki 是一名受人尊敬的 Java 程序员,也是 XP 社区的领导者,他将介绍围绕测试案例隔离的问题,并向我们展示如何使用模仿对象(mock object)和 AspectJ 来开发精确和健壮的单元测试. 最近,人们对极端编程(Ext