我在jsp中使用Spring输入路径
前:
<div class="cell label">
<form:label path="order.paymentTransactions.payerEmail">Payer Mail</form:label>
</div>
<div class="cell">
<form:input path="order.paymentTransactions.payerEmail" name="payerEmail"/>
</div>
这里,order是我的主要对象和内部顺序,paymentTransaction是一个List,我必须输入数据来检查payerEmail中的dao。
但它向我显示错误和无效路径。请建议我在jsp中定义输入路径的好方法。感谢
答案 0 :(得分:12)
在Spring中映射bean列表时,很难提供path属性。您可以使用普通html <form:input>
替换<input>
。
<input name="order.paymentTransactions[0].payerEmail" />
这是在Spring MVC中将List映射为表单对象的完整示例
示例:Spring MVC: Multiple Row Form Submit using List of Beans
上面的示例还讨论了在使用列表时难以使用<form:input>
的原因。这是因为如果你尝试使用如下的东西:
<form:input path="order.paymentTransactions[0].payerEmail" name="payerEmail"/>
Spring将简单地呈现为HTML:
<input name="order.paymentTransactions0.payerEmail" />
忽略括号[]。
因此无法使用<form:input>
映射List。
答案 1 :(得分:2)
能通过春天做名单的映射。请在您的网站上更新。谢谢。
示例:
<c:forEach var="marksList" items="${personDTO.marksList}" varStatus="status">
<form:input path="marksList[${status.index}].hindi" />
答案 2 :(得分:0)
你可以这样做:
<c:set var="list" value="order.paymentTransactions[0].payerEmail" scope="page" />
<form:input path="${list}" name="payerEmail"/>
这些对我有用。