在SpringMVC模型中传递新对象。addAttribute()方法
我从这里开始实施Spring PetClinic项目 我有一点怀疑,用户从欢迎页面单击查找所有者页面 处理请求的控制器代码在SpringMVC模型中传递新对象。addAttribute()方法,spring,jsp,jakarta-ee,spring-mvc,controller,Spring,Jsp,Jakarta Ee,Spring Mvc,Controller,我从这里开始实施Spring PetClinic项目 我有一点怀疑,用户从欢迎页面单击查找所有者页面 处理请求的控制器代码 @RequestMapping(value = "/owners/search", method = RequestMethod.GET) public String setupForm(Model model) { model.addAttribute("owner", new Owner()); return "owners/se
@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
<%@ 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" %>
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" %>
谢谢。非常感谢您的帮助。Spring的表单标记库的元素需要绑定一个模型属性来创建其路径
<form:form modelAttribute="owner"
modelAttribute属性指向您添加的所有者模型属性。很明显,它不使用它的值,毕竟它是空的。但是,它使用空对象作为模板,例如,用于生成元素名称属性的字段名。Spring的表单标记库元素需要绑定到模型属性才能创建其路径
<form:form modelAttribute="owner"
modelAttribute属性指向您添加的所有者模型属性。很明显,它不使用它的值,毕竟它是空的。但是,它使用空对象作为模板,例如,用于生成元素名称属性的字段名。感谢reply Sotirios感谢reply Sotirios感谢reply Sotirios