国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

sturuts標簽遍歷list的4種常見方法

2019-11-15 00:35:06
字體:
來源:轉載
供稿:網友
sturuts標簽遍歷list的4種常見方法

【摘要】本文主要介紹及演示了Struts迭代器(iterator)遍歷List常用的4種例子,基于MyEclipse開發環境,重點關注前后端代碼的實現,給出后端java代碼、前段struts標簽代碼,主要有如下4個例子:

1. 遍歷List<String>

2. 遍歷List<List<String>>

3. 遍歷UserEntity

4. 遍歷List<UserEntity>

圖1:遍歷Listd的4個例子運行結果

圖1:遍歷Listd的4個例子運行結果

關鍵詞:Struts標簽,iterator迭代器,List<String>,List<List<String>>

1、遍歷List<String>

(1)后臺TestAction.java 部分代碼:

1         // TODO 給list賦值2         if (list==null) {3             list=new ArrayList<String>();4             list.add("劉備");5             list.add("關羽");6             list.add("張飛");7             list.add("趙云");8         }
TODO 給list賦值

(2)前臺jsp+s標簽部分源代碼:

 1                     <%--List<String>遍歷--%> 2                     <table width="242" height="256" border="1" cellpadding="1" 3                         cellspacing="1"> 4                         <caption> 5                             List&ltString&gt遍歷 6                         </caption> 7                         <tr> 8                             <%-- 9                         說明:<s:iterator id="別名" value="后臺List變量名">10                               <s:if test="#別名!=null">11                             --%>12                             <s:iterator id="li" value="list">13                                 <td>14                                     <s:if test="#li!=null">15                                         <s:PRoperty />16                                     </s:if>17                                 </td>18                             </s:iterator>19                         </tr>20                     </table>
List遍歷

2、遍歷List<List<String>>

(1)后臺TestAction.java 部分代碼:

 1         // TODO 給listList賦值(二維列表List) 2         if (listList==null) { 3             listList=new ArrayList<List<String>>(); 4             List<String> li=new ArrayList<String>(); 5             li.add("姓名"); 6             li.add("勢力"); 7             li.add("職務"); 8             listList.add(li); 9             /*List為引用類型(以地址方式保存一維List對象),10             添加不同List到二維列表需再實例化    */        11             li=new ArrayList<String>();12             li.add("劉備");13             li.add("蜀");14             li.add("老大");15             listList.add(li);16             li=new ArrayList<String>();17             li.add("關羽");18             li.add("蜀");19             li.add("老2");20             listList.add(li);21             li=new ArrayList<String>();22             li.add("張飛");23             li.add("蜀");24             li.add("老3");25             listList.add(li);26             li=new ArrayList<String>();27             li.add("趙云");28             li.add("蜀");29             li.add("大將");30             listList.add(li);
TODO 給listList賦值(二維列表List)

(2)前臺jsp+s標簽部分源代碼:

 1     <%--List<List<String>>遍歷--%> 2                     <table width="242" height="256" border="1" cellpadding="1" 3                         cellspacing="1"> 4                         <caption> 5                             List&ltList&ltString&gt&gt遍歷如下: 6                         </caption> 7                         <s:iterator value="#request.listList" status="st"> 8                             <tr> 9                                 <s:iterator value="#request.listList.get(#st.index)">10                                     <td valign="middle" align="center">11                                         <s:property />12                                     </td>13                                 </s:iterator>14                             </tr>15                         </s:iterator>16                     </table>

3、遍歷UserEntity

(1)后臺TestAction.java 部分代碼:

1 // TODO 給UserEntity賦值2             if (userEntity==null) {3                 userEntity=new UserEntity("諸葛亮","男",37);4             }
TODO 給UserEntity賦值

(2)前臺jsp+s標簽部分源代碼:

 1                     <%--UserEntity遍歷如下:--%> 2                     <table width="242" height="256" border="1" cellpadding="1" 3                         cellspacing="1"> 4                         <caption> 5                             UserEntity遍歷如下: 6                         </caption> 7                         <tr> 8                             <%--<td><s:property value="#變量名.屬性名" /></td>--%> 9                             <td>10                                 <s:property value="userEntity.name" />11                             </td>12                             <td>13                                 <s:property value="userEntity.sex" />14                             </td>15                             <td>16                                 <s:property value="userEntity.age" />17                             </td>18                         </tr>19                     </table>
View Code

4、遍歷List<UserEntity>

(1)后臺TestAction.java 部分代碼:

 1 // TODO 給List<UserEntity>賦值 2     if (users==null) { 3         users=new ArrayList<UserEntity> (); 4         UserEntity user=new UserEntity("張飛","男",18); 5         users.add(user); 6         user=new UserEntity("李斯","男",19); 7         users.add(user); 8         user=new UserEntity("王武","男",20); 9         users.add(user);10         user=new UserEntity("小喬","女",21);11         users.add(user);12     }
View Code

(2)前臺jsp+s標簽部分源代碼:

 1 <%-- List<UserEntity>遍歷如下:--%> 2                     <table width="242" height="256" border="1" cellpadding="1" 3                         cellspacing="1"> 4                         <caption> 5                             List&ltUserEntity&gt遍歷如下: 6                         </caption> 7                         <tr> 8                             <th> 9                                 姓名10                             </th>11                             <th>12                                 性別13                             </th>14                             <th>15                                 年齡16                             </th>17                         </tr>18                         <s:iterator id="u" value="users">19                             <%--20         <s:iterator  id="別名"  value="要遍歷的集合">21         users:對應后臺Action類的List<UserEntity> users;22         --%>23                             <tr>24                                 <%--<td><s:property value="#別名.實體類屬性名" /></td>--%>25                                 <td>26                                     <s:property value="#u.name" />27                                 </td>28                                 <td>29                                     <s:property value="#u.sex" />30                                 </td>31                                 <td>32                                     <s:property value="#u.age" />33                                 </td>34                             </tr>35                         </s:iterator>36                     </table>
View Code

5、用法比較

它們遍歷顯示效果也類似,它們也有以下區別:

List<List<String>>由于列表沒有屬性需要借助迭代器的屬性status="st",如:

<s:iterator value="#request.listList" status="st">  <tr>    <s:iterator value="#request.listList.get(#st.index)">        <td valign="middle" align="center">          <s:property />        </td></s:iterator></tr></s:iterator>

List<UserEntity>則簡單多,借用迭代器iterator的id、value屬性,再用<s:property value="#別名.實體類屬性名" />獲取

如:

<s:iterator id="u" value="users">   <tr>       <td>         <s:property value="#u.name" />       </td>       <td>         <s:property value="#u.sex" />       </td>       <td>         <s:property value="#u.age" />       </td>   </tr></s:iterator>

遍歷方法各有長短,若不是多表聯接查詢 、顯示表格的列數已經固定, 一般用實體類(UserEntity)迭代的方式。相反,顯示的 數據表格行和列不確定,此時用實體類(UserEntity)迭代的方式很難實現, 只能用List<String>或List<List<String>>實現了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新营市| 香港 | 邳州市| 大丰市| 寻甸| 易门县| 右玉县| 明光市| 文化| 杭锦旗| 将乐县| 盘锦市| 金溪县| 烟台市| 清水县| 沾益县| 东阳市| 萨嘎县| 林州市| 九龙城区| 成武县| 称多县| 大丰市| 安丘市| 富阳市| 邓州市| 曲水县| 喀什市| 泰顺县| 陵川县| 嵩明县| 耒阳市| 洛阳市| 南康市| 淮阳县| 栾城县| 平顶山市| 东兴市| 东辽县| 灌云县| 盐亭县|