jsp 2.0标记中的spring模型属性
在我看来,我有这样一个简单的形式:jsp 2.0标记中的spring模型属性,spring,spring-mvc,jsp-tags,spring-form,Spring,Spring Mvc,Jsp Tags,Spring Form,在我看来,我有这样一个简单的形式: <form:form modelAttribute="user" > <form:input path="lastName"/> <br/> </form:form> 我正在尝试制作一个标记,以生成我的表单,如下所示: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ tagli
<form:form modelAttribute="user" >
<form:input path="lastName"/> <br/>
</form:form>
我正在尝试制作一个标记,以生成我的表单,如下所示:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ attribute name="model" required="true" type="com.myObject"%>
<form:form modelAttribute="model" >
<form:input path="lastName"/> <br/>
</form:form>
<%@ taglib prefix="ahead" tagdir="/WEB-INF/tags" %>
<ahead:form model="${user}"></ahead:form>
这样称呼:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ attribute name="model" required="true" type="com.myObject"%>
<form:form modelAttribute="model" >
<form:input path="lastName"/> <br/>
</form:form>
<%@ taglib prefix="ahead" tagdir="/WEB-INF/tags" %>
<ahead:form model="${user}"></ahead:form>
但它抛出了一个例外:
bean名称“model”的BindingResult和普通目标对象都不能作为请求属性使用
如果我在标签中写下:
<form:form modelAttribute="user" >
它之所以有效,是因为我猜它在模型中找到了属性“user”
但我想使用属性“model”:
因为它在模型中并不总是被称为相同的
我怎样才能做到这一点
谢谢
这将用名为
model
的传入属性值替换表达式。当前,表单总是查找名为“model”的属性。您应该使用“${model}”将其替换为传入的值。目前它是硬编码到model.@M.Deinum的
元素不接受modeldattribute
和commandName
属性的请求属性的名称吗?谢谢M.Deinum,我知道我已经不远了!你可以添加你的评论作为回应,这样我就可以接受了@SotiriosDelimanolis确实如此,但如果要动态填充,则必须使用表达式而不是硬编码值。@M.Deinum噢,我误解了这个问题<代码>模型用于保存要使用的属性的名称。
<form:form modelAttribute="${model}" >