<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();
}
}
}