我在尝试从嵌套单选按钮获取值时遇到问题,下面是我向用户显示信息的代码。
<form:form action="make-test" method="post">
<c:forEach var="question" items="${questions }">
<c:out value="${question.question }"></c:out>
<br>
<c:forEach var="answer" items="${question.answers }">
<input type="radio" name="${question.id }" value="${answer.id }" />
<c:out value="${answer.answer }"></c:out>
<br>
</c:forEach>
<br><br>
</c:forEach>
</form:form>
在这段代码中,我不能使用spring属性对象的模型属性(因为这是对象列表)
有没有办法处理这个值(像Spring一样的转换器或属性编辑器)而不是自己处理@RequestBody?
提前致谢!
更新
按照您的建议,我将上面的代码更改为适合:
<form:form action="match" method="post" modelAttribute="questions">
<c:forEach var="question" items="${questions }" varStatus="loopQuestion">
<form:hidden path="questions[${loopQuestion.index }].id"/>
<c:out value="${question.question }"></c:out>
<br>
<c:forEach var="answer" items="${question.answers }" varStatus="loopAnswer">
<form:radiobutton path="question.answers[${loopAnswer.index }].id"
value="${answer.id }"/>
<c:out value="${answer.answer }"></c:out>
<br>
</c:forEach>
<br><br>
</c:forEach>
<input type="submit" value="Submit"/>
</form:form>
当前错误是Invalid property 'questions' of bean class [java.util.ArrayList]
,我知道这个问题想告诉我无法在ArrayList中调用getQuestions,我该如何传递?