6

我在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> 

在这里,订单是我的主要对象和内部订单,paymentTransaction 是一个列表,我必须输入数据才能通过 payerEmail 中的 dao 进行检查。

但它向我显示错误和无效路径。请建议我在jsp中定义输入路径的好方法。谢谢

4

3 回答 3

14

在 Spring 中映射 bean 列表时,很难提供路径属性。您可以将 替换为<form:input>纯 html <input>

<input name="order.paymentTransactions[0].payerEmail" />

这是在 Spring MVC 中将 List 映射为表单对象的完整示例

示例:Spring MVC:使用 Bean 列表提交多行表单

上面的示例还讨论了为什么在使用列表时难以使用<form:input>。这是因为如果您尝试使用以下内容:

<form:input path="order.paymentTransactions[0].payerEmail" name="payerEmail"/>

Spring 将简单地将其呈现为 HTML:

<input name="order.paymentTransactions0.payerEmail" />

忽略括号 [ ]。

因此它不可能<form:input>用于映射列表。

于 2012-12-12T14:06:13.937 回答
4

我们可以通过 spring 来做 list 的映射。请在您的网站上更新。谢谢你。

例子:

<c:forEach var="marksList" items="${personDTO.marksList}" varStatus="status">

<form:input path="marksList[${status.index}].hindi" />
于 2013-11-22T09:45:37.390 回答
0

你可以这样做:

<c:set var="list" value="order.paymentTransactions[0].payerEmail" scope="page" />

<form:input path="${list}" name="payerEmail"/>

这些对我有用。

于 2017-09-13T07:56:47.463 回答