对于注解和JSTL,我刚接触Spring。
我试图将索引计数的值从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}
设置为Model {questionForm}
中的属性吗? 最佳答案
您误解了JSP在做什么。
Spring控制器会生成一个完整的模型,并将其转发给JSP。然后,JSP从模型中提取数据并进行渲染。
JSP不会也不能“回调”到控制器。 JSP完成其工作所需的所有内容都应由控制器预先放入模型中。<c:forEach>
中的注释为您提供完成练习所需的所有线索。