弹簧输入路径列表

时间:2012-12-12 10:46:17

标签: jsp spring-mvc

我在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中定义输入路径的好方法。感谢

3 个答案:

答案 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"/>

这些对我有用。