对于注解和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>中的注释为您提供完成练习所需的所有线索。

10-07 16:19
查看更多