我有3个实体用户,部门和地址。用户可以拥有多个地址。现在我对构建此用例的表单存在疑问。
我可以直接访问Department,因为它是object.But我没有得到如何引用地址属性,因为它是一个Set。
class Users
{
private int id;
private String name;
private Department dept;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "userId", nullable = false)
private Set<Address> addresses = new HashSet<Address>(0);
//Getters and setters
}
MyForm.jsp
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head>
<title>Spring 3 MVC Series - Contact Manager</title>
</head>
<body>
<h2>Contact Manager</h2>
<form:form method="post" commandName="userObject" action="addPerson.html">
<table>
<tr>
<td><form:label path="name">Name</form:label></td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td><form:label path="userObject.dept.deptName">Department Name</form:label></td>
<td><form:input path="userObject.dept.deptName" /></td>
</tr>
<tr>
<td><form:label path="userObject.addresses.street">Street Address</form:label></td>
<td><form:input path="userObject.addresses.street" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Add Contact"/>
</td>
</tr>
</table>
</form:form>
如何使用object访问jsp表单中的address属性。我在jsp的userObject.addresses.street
中遇到问题答案 0 :(得分:2)
我会使用jstl taglib:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
然后使用foreach
并做一些像:
<c:forEach var="item" items="${userObject.addresses}">
${item.street}
</c:forEach>
答案 1 :(得分:1)
您无法访问List
,因为它只是一个Object
,因此您需要遍历User
的{{1}}并显示街道或每个街道。
adresses