我不能迭代存储在struts2中的user对象中的集合。
我的struts操作、表单和用户bean是:
public class Project {
private String name;
private int id;
// getter and setter for name & id
}
public class User {
private String name;
private List<Project> projects;
:
:
public List<Project> getProjects() {
// fetch projects from database and add to projects
return projects;
}
}
pulbic class login extends ActionSupport {
private User user;
public String execute() {
user = new User();
return SUCCESS;
}
public User getUser () {
return user;
}
}现在,在jsp页面上,我需要显示用户的所有项目。
JSP代码:
<s:iterator value="user.projects" var="proj" status="key">
<td> <s:property value="${proj.name}" /> </td>
<td> <s:property value="${proj.id}" /> </td>
</s:iterator>但是这个迭代器不起作用。我该怎么做呢?
发布于 2012-04-19 07:43:29
var属性可能是不需要的,因为迭代器将该项推送到堆栈的顶部...
<s:iterator value="user.projects">
<td> <s:property value="name" /> </td>
<td> <s:property value="id" /> </td>
</s:iterator>注意:如果你想用{}包装表达式,它们应该以%{}为前缀来表示OGNL,其中${}表示EL。如果表达式在默认情况下不求值,则只需要在struts2标记中使用%{}包装表达式,因为在某些上下文中求值通常是有意义的,而在其他上下文中不需要经常这样做,因为标记属性求值/或不是大多数人所期望的那样。
https://stackoverflow.com/questions/10216260
复制相似问题