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

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

第一步:

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

public class Feng {<br />private String lou;<br />private String feng;<br />}<br />public class FengFeng {<br />private String a;<br />private String b;<br />}

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

第二步:

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

private List li;

也提供setter方法

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

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

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

第三步:

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

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

页面显示效果如下:

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

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

其实,每个人都是幸福的。只是,你的幸福,常常在别人眼里。

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

相关文章:

你感兴趣的文章:

标签云: