最近在學習Struts的Tag,先總結一下
1.用Struts Tag來處理集合類型比如List,Map
1)把返回頁面的數據先封裝到formbean,然後在頁面上從formbean取出數據
先準備兩個類
User.java
public class User {
private String userName;
private String userNo;
//setter and getter...
}
UserForm.java
import java.util.List;
public class UserForm {
private List userList;
//setter and getter..
}
現在要在頁面上取出UserForm裏userList集合的對象值,則頁面上可寫成<logic:iterate id="user" name="userForm" property="userList">
logic:iterate id="user" name="userForm" property="userList"
bean:write name="user" property="userName" /
bean:write name="user" property="userNo" /
/logic:iterate <bean:write name="user" property="userNo"></bean:write>
</logic:iterate>
其中logic:iterate 裏的id自己定義一個變量,name爲從action傳過來時的formbean名稱,property爲formbean中List的變量名,bean:write 中name爲id的值,property爲User類的變量,一定要有getter和setter方法。
2)直接從action中回傳一個List的處理方法
<logic:iterate id="user" name="userList">
logic:iterate id="user" name="userList" </logic:iterate>
<logic:iterate name="userList"> bean:write name="user" property="userName" /
bean:write name="user" property="userNo" /
/logic:iterate <bean:write name="user" property="userName"></bean:write>
</logic:iterate>
其中其中logic:iterate 裏的id自己定義一個變量,name爲從action傳過來時的List的名稱,bean:write 中name爲id的值,property爲User類的變量,一定要有getter和setter方法。
如果想在循環中顯示序號怎能辦呢?
可以利用indexId屬性
logic:iterate id="user" name="userList" indexId="index"
《td》 《%=index.intValue()+1%》《td》