http://blog.youkuaiyun.com/saiya_kwok/archive/2008/05/14/2443438.aspx
对于老手来讲,本文是不具技术含量的。主要是用于记录本人在编程路上的那些事。
<c:forEach>可用于collection的遍历。使用ArrayList封装对象为element,目的在于在view上可以实现在同一个循环中,输出多个属性值。使用<c:forEach>遍历ArrayList对象实例,然后分别输出每个对象的不同属性值。
以一个例子说明下:
一,首先是ArrayList类的代码:(一个简单的POJO类)
public class Twostring {
public String name;
public String url;
public Twostring(){
}
public Twostring(String name,String url){
this.name=name;
this.url=url;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
二,下面是一个业务逻辑的片段:
返回一个ArrayList的对象,这个对象中每一个element都是一个Twostring类的对象,而且为每个Twostring类的对象的属性都进行了赋值!
(name和url这两个字符串数组就好似一组标题列表与标题对应的url地址一样)
ArrayList typeList=new ArrayList();
for(int i=0;i<len;i++){
typeList.add(new Twostring(names[i],urls[i]));
}
return typeList;
三,通过在Action中的execute方法中,加入一个session值。
ArrayList typeList=uo.typeList(admin); //获得ArrayList对象,
session.setAttribute("typeList", typeList); //设置session
四,这样在JSP视图中,可以这样在同一循环中获得两个属性值
<c:forEach var="onetype" items="${sessionScope.typeList}">
<a href='/software.jsp?ID=<c:out value="${onetype.url}"/>'><c:out value="${onetype.name}"/></a>
</c:forEach>