1
我有一個對象列表。目的是以下類的:訪問JSP視圖中的嵌套對象
@Entity
@Table(name="User")
public class User {
@Id
@Column(name = "userid" ,unique=true, nullable=false)
private String id;
@Column(name="firstname")
private String firstname;
@Column(name="lastname")
private String lastname;
@Column(name="title")
private String title;
@Embedded
private Address address;
@ManyToMany
@JoinTable(name="phone_user", joinColumns={@JoinColumn(name="userid")},
inverseJoinColumns={@JoinColumn(name="phoneid")})
private List<Phone> phones;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public List<Phone> getPhones() {
return phones;
}
public void setPhones(List<Phone> phones) {
this.phones = phones;
}
}
在我的控制器方法我這個列表添加到模型:
model.addAttribute("lists",phone.getUsers());
在我的JSP我無法訪問列表getter方法。我需要訪問getId和getFirstName getters。 這是我的JSP:
<c:forEach items="${lists}" var="listvalue">
<tr>
<td>Employee ID: <c:out value="${listvalue}"/></td>
<td>Employee Pass: <c:out value="${listvalue.getId()}"/></td>
</tr>
</c:forEach>
我得到以下錯誤:
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/phoneview.jsp at line 33
線33:
<td>Employee Pass: <c:out value="${listvalue.getId()}"/></td>
我似乎無法找出問題所在。
你介意解釋你的答案? –
JSP表達式語言使用JavaBeans規範。在本規範中,'listvalue'是一個Java bean,'id'是一個getter方法getId()讀取的屬性。 – Oleksandr
我認爲這應該可以解決問題。 –