<body>
<%
ArrayList<AnimeRole> col = new ArrayList<AnimeRole>();
col.add(new AnimeRole("clannad", "Nagisa"));
col.add(new AnimeRole("clannad", "Kotomi"));
col.add(new AnimeRole("clannad", "Tomoyo"));
col.add(new AnimeRole("clannad", "Ryou"));
col.add(new AnimeRole("clannad", "Fuko"));
pageContext.setAttribute("col", col);
%>
//本来还有个var属性,然后在标签体里使用${xxx}是可以正常工作的,现在的问题是
//我想实现,如果不用var这个属性的话,那么标签处理类那里就把输出对象的toString(),可是不知道怎么把这个
//string放到标签体里
<tld:iterator collection="${col}">
</tld:iterator>
</body>public class CollectionTag extends SimpleTagSupport {
private Collection<Object> collection;
private String var; /**
*
*/
private static final long serialVersionUID = -3200115283758096886L;
public Collection<Object> getCollection() {
return collection;
} public void setCollection(Collection<Object> collection) {
this.collection = collection;
} public String getVar() {
return var;
} public void setVar(String var) {
this.var = var;
} @Override
public void doTag() throws JspException {
for(Object o : collection) {
getJspContext().setAttribute(var, o);
try {
getJspBody().invoke(null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货