У меня есть список объектов. Объект имеет следующий класс:Доступ к вложенным объектам в JSP View
@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 я не могу получить доступ списки добытчика методов. Мне нужно получить доступ к 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-компонентом, а' id' является свойством, которое считывается методом getter getId(). – Oleksandr
Я думаю, что это должно решить проблему. –