Ich habe eine Liste von Objekten. Das Objekt ist von der folgenden Klasse:Zugriff auf verschachtelte Objekte in der JSP-Ansicht
@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;
}
}
In meiner Controller-Methode füge ich diese Liste an das Modell als:
model.addAttribute("lists",phone.getUsers());
In meinem JSP Ich bin nicht in der Lage der Listen Methoden Getter zuzugreifen. Ich muss auf die getId und getFirstName getters zugreifen. Dies ist mein 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>
ich die folgende Fehlermeldung erhalten:
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/phoneview.jsp at line 33
Linie 33:
<td>Employee Pass: <c:out value="${listvalue.getId()}"/></td>
ich nicht scheinen, um herauszufinden, was das Problem ist.
Haben Sie etwas dagegen zu erklären Ihre Antwort? –
JSP Expression Language verwendet die JavaBeans-Spezifikation. In Bezug auf diese Spezifikation ist 'listvalue' eine Java-Bean und' id' ist eine Eigenschaft, die von der Getter-Methode getId() gelesen wird. – Oleksandr
Ich denke, das sollte das Problem lösen. –