最近在学习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》