我对Spring的注释和JSTL相当新。
我试图将索引计数的值从JSP传递给Spring Controller。但是,我不知道我怎么能这样做。我无法将此计数设置为路径变量或请求参数。 JSP中是否有一种方法可以将Model中的属性设置为特定值?
示例代码(来自here)
...
<form:form modelAttribute="${questionForm}" ... >
<%-- render HTML for your question, etc. --%>
${questionForm.question}
...
</p>
<%-- below list your answer fields (your collection) --%>
<c:forEach var="answer" items="${questionForm.answers}" varStatus="counter">
<%-- display your single answer field (text area) here,
each element of your list may be accessed as ${answer},
and you can also access the index of the element in the list via ${counter.index} --%>
</c:forEach>
... other fields, submit buttons, etc.
</form:form>
...
在此示例中,我可以将${counter.index}
设置为模型{questionForm}
中的属性吗?
答案 0 :(得分:2)
你误解了JSP正在做什么。
Spring控制器生成一个完整的模型,该模型被转发到JSP。然后,JSP从模型中提取数据并呈现它。
JSP不会,也不能“回调”到控制器。 JSP需要完成其工作的所有内容都应该由控制器提前进入模型。
<c:forEach>
内的评论为您提供完成练习所需的所有线索。