【发布时间】:2015-05-18 18:27:22
【问题描述】:
我正在尝试以百里香叶的形式获取值。该表单是一个表格,其中有几个代表 CallDataRecord 的一行。我正在寻找的行为是获取包含每个元素列表的 CallDataRecord。
这是我的控制器:
@RequestMapping(value="/usage", method=RequestMethod.POST)
public ModelAndView usageSubmit(@ModelAttribute CallDataRecord cdr, ModelAndView mav) {
System.out.println(cdr.getRecords().size());
return mav;
}
对象来源:
public class CallDataRecord {
private ArrayList<CallDataRecordLine> records;
...
}
public class CallDataRecordLine {
String chargedQuantity;
String fromNumber;
String toNumber;
String dt;
String usage;
}
还有我关联的 jSP
<form action="#" th:action="@{/usage}" th:object="${cdr}" method="post">
<tr id='addr0'>
<th:block th:each="calldatarecordline : ${cdr.records}">
<td>1</td>
<td><input type="text" th:field="${calldatarecordline.fromNumber}" name='fromNumber'
placeholder='+555...' class="form-control" /></td>
<td><input type="text" name='toNumber' th:field="${calldatarecordline.toNumber}" placeholder='+555...'
class="form-control" /></td>
<td>
<div class='input-group date'>
<input name='date' type="text" th:field="${calldatarecordline.dt}" class="form-control"><span
class="input-group-addon"><i
class="glyphicon glyphicon-th"></i></span>
</div>
</td>
<td><input type="text" name='duration' th:field="${calldatarecordline.usage}" class="form-control" /></td>
<td><select class="form-control" name='usageType'>
<option value="value1">Message</option>
<option value="value2">Data</option>
<option value="value3">Call</option>
</select></td>
</th:block>
</tr>
</form>
最后,我获取了我的 CallDataRecord,里面的列表已实例化但为空,因此无法按预期工作。 我试图在另一个 JSP 中只检索一个 CallDataRecordLine 并且它工作正常。所以问题是列表上的迭代。
感谢您的宝贵时间
【问题讨论】:
标签: forms jsp spring-mvc thymeleaf