我正在从这里实施Spring PetClinic项目
http://docs.spring.io/docs/petclinic.html
我有一点疑问,用户点击欢迎页面中的查找所有者页面。
处理请求的控制器代码
@RequestMapping(value = "/owners/search", method = RequestMethod.GET)
public String setupForm(Model model) {
model.addAttribute("owner", new Owner());
return "owners/search";
}
现在控件被移动到Search.jsp页面,该页面还允许用户添加新的所有者。
我怀疑为什么在model.addAttribute中放置了一个新的所有者对象?
model.addAttribute("owner", new Owner());
有什么需要?为什么流不直接导航到Search.jsp
Owner类具有所有者的属性,如firstName,lastName。等
如果您在代码中需要更多信息,请提供建议。我会把它放在这里。
search.jsp的
<%@ include file="/WEB-INF/jsp/includes.jsp" %>
<%@ include file="/WEB-INF/jsp/header.jsp" %>
<h2>Find Owners:</h2>
<spring:url value="/owners" var="formUrl"/>
<form:form modelAttribute="owner" action="${fn:escapeXml(formUrl)}" method="get">
<table>
<tr>
<th>
Last Name: <form:errors path="*" cssClass="errors"/>
<br/>
<form:input path="lastName" size="30" maxlength="80" />
</th>
</tr>
<tr>
<td><p class="submit"><input type="submit" value="Find Owners"/></p></td>
</tr>
</table>
</form:form>
<br/>
<a href='<spring:url value="/owners/new" htmlEscape="true"/>'>Add Owner</a>
<%@ include file="/WEB-INF/jsp/footer.jsp" %>
感谢。我非常感谢你的帮助。
答案 0 :(得分:3)
Spring form
标记库的<form:form>
元素需要绑定模型属性才能创建其路径。
<form:form modelAttribute="owner"
modelAttribute
属性指向您添加的Owner
模型属性。它显然没有使用它的价值(毕竟它是空的)。但是,它使用空对象作为模板(例如,字段名称)来生成name
元素的<input>
属性。