【问题标题】:How will I access a field of a list<class> while using varStatus in JSTL?在 JSTL 中使用 varStatus 时如何访问 list<class> 的字段?
【发布时间】:2013-07-27 00:24:54
【问题描述】:

我有两个数组列表,想以表格格式打印它们。我尝试了以下操作并得到一个异常 - java.lang.NumberFormatException: For input string: "ss"

JAVA代码

List<Territory> terrList = new ArrayList<Territory>(); 
List<ProspCount> prospCountList = new ArrayList<ProspCount>();
model.put("terrList",terrList);     
model.put("prospCountList",prospCountList );

区域类的结构

String terr;

ProspCount 类的结构

private Integer taggedCount;
private Integer ss;
private Integer nss;
private Integer ssA;

JSP 代码:

 <c:forEach items="${model.terrList}" var="terr" varStatus = "loop">
<tr>
   <td>${terr}</td>
     <td> ${model.prospCountList.ss[loop.index]} </td>
     <td> ${model.prospCountList.nss[loop.index]} </td>
      .....
      .....
</tr>    
</c:forEach> 

【问题讨论】:

    标签: java jsp jstl


    【解决方案1】:

    您循环的是 terrList 成员,而不是 propsCountList 成员。使用${model.propsCountList[loop.index].ss

    【讨论】:

      【解决方案2】:

      我同意 drvdijk 的回答。由于model.prospCountList.ss 不是列表/数组,因此尝试访问此列表/数组的索引是没有意义的。

      我会建议您在 Java 代码中正确格式化您想要直接迭代的内容。

      List<Territory> terrList = new ArrayList<Territory>(); 
      List<ProspCount> prospCountList = new ArrayList<ProspCount>();
      

      你不能创造这样的东西吗?

      List<TerritoryWithProspCount> terrList = new ArrayList<TerritoryWithProspCount>(); 
      

      这将使 JSP 代码更具可读性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-29
        • 1970-01-01
        • 2021-06-01
        • 2017-11-09
        • 2015-01-02
        • 1970-01-01
        • 2011-06-24
        • 2016-11-23
        相关资源
        最近更新 更多