feng

飘逸~~~~~life

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
哈哈!成功了! 这样就可以实现灵活的迭代了,很实用哦!


posted on 2008-09-18 10:11 feng 阅读(1442) 评论(1)  编辑  收藏

Feedback

# re: struts2中迭代不同类型对象的测试 2008-09-18 13:28 gjgwy

gwybbs@163.com
博文不错
国家公务员考试网http://www.gjgwy.org   回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航: