程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> struts2中迭代不同類型對象的測試

struts2中迭代不同類型對象的測試

編輯:關於JAVA

在平時使用 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

哈哈!成功了! 這樣就可以實現靈活的迭代了,很實用哦!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved