【问题标题】:JSTL: for Each loop to iterate over collectionJSTL:for Each 循环遍历集合
【发布时间】:2013-02-21 21:46:30
【问题描述】:

以下是我的 sn-p,它一直运行良好,直到我从 spring 2 迁移到 spring 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>

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

【问题讨论】:

  • location 是什么类型?你能发布相关的类/接口吗?
  • Location 和 FtpEvents 有一对多的关系...只需要知道如何循环遍历对象集合...如果我使用...fEvents[0].hostName..它可以工作..但是我有 5 个值

标签: java spring jsp jstl


【解决方案1】:

看起来名为“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>

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

【讨论】:

  • 我有点迷茫,你说问题还在,但你接受了答案?还是有问题吗?
  • 它没有..已解决...这是属性名称的问题..在除休眠配置文件之外的所有地方都正确使用..有两个同名字段,一个用于布尔值和一个用于集合..需要更改其中一个属性名称!
猜你喜欢
  • 1970-01-01
  • 2018-06-16
  • 2016-07-16
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
相关资源
最近更新 更多