JSTL:for each循环遍历集合

2 java spring jsp jstl

以下是我的片段,它工作得很好,直到我从春季2迁移到春季3和Jstl 1.1迁移到jstl 1.2.现在,它不工作,继续给出错误 fEvents cannot found on object location

 <c:forEach items="${location.fEvents}" var="item" varStatus="loop">
    <tr><td><form:input path="fEvents[${loop.index}].hostName" size="30" maxlength="200"/></td>
    <td><form:input path="fEvents[${loop.index}].directory" size="30" maxlength="200"/></td>
    <td><form:input path="fEvents[${loop.index}].userName" size="20" maxlength="20"/></td>
    <td><form:input path="fEvents[${loop.index}].password" size="20" maxlength="20"/></td>
    </tr>
 </c:forEach>
Run Code Online (Sandbox Code Playgroud)

需要迭代ftpEvents并在jsp上显示它们任何建议都表示赞赏!!!

小智 5

看起来名为"location"的对象没有fEvents属性.它实际上被称为ftpEvents吗?你需要更改变量名吗?

尽管如此,你可能想要做更像这样的事情:

 <c:forEach items="${location.ftpEvents}" var="item">
    <tr><td><form:input path="item.hostName" size="30" maxlength="200"/></td>
    <td><form:input path="item.directory" size="30" maxlength="200"/></td>
    <td><form:input path="item.userName" size="20" maxlength="20"/></td>
    <td><form:input path="item.password" size="20" maxlength="20"/></td>
    </tr>
 </c:forEach>
Run Code Online (Sandbox Code Playgroud)

...如果我正确地解释你的代码,你甚至根本不需要使用loop.index.

  • 我有点困惑,你说问题仍然存在,但你接受了答案?它仍然是一个问题吗? (2认同)