【问题标题】:How to get all values from a Collection in JSP如何从 JSP 中的集合中获取所有值
【发布时间】:2014-07-20 00:36:06
【问题描述】:

我的 Java 代码有一个类似的地图

Map<Integer, someObject> abc = new HashMap<String, someObject>();

一些对象有一些我需要打印的属性

我只需要打印地图中的值。

JSP 代码

<c:forEach items="${abc .values()}" var="row">   
          <td>${row.someValue}<td>   
</c:forEach> 

但是当 values() 返回一个集合并且它无法正确地迭代它时,它会打印一些乱码。有什么办法可以吗?

【问题讨论】:

    标签: java jsp collections map


    【解决方案1】:

    我假设 abc 和 .values() 之间的空格在进入 stackoverflow 时是一个错字,因为这会导致问题。

    如果 someObject 有你的属性的 getter/setter,那么它应该像这样工作:

    class SomeObject {
    ...
        String getSomeValue() {
            return someValue;
        }
    }
    
    <c:forEach items="${abc.values()}" var="row">   
        <td>${row.someValue}<td>   
    </c:forEach> 
    

    另一方面,如果它没有 getter/setter,那么它将是这样的(您必须在其中添加括号):

    class SomeObject {
    ...
        String someValue() {
            return "blah blah";
        }
    }
    
    <c:forEach items="${abc.values()}" var="row">   
        <td>${row.someValue()}<td>   
    </c:forEach> 
    

    【讨论】:

    • 我不太确定为什么我会得到一些随机的乱码值。当我尝试重建我的项目时它现在工作了(我在临时目录中进行更改并刷新页面)。感谢您的帮助。
    【解决方案2】:

    当你这样做时它会返回什么?

    <c:forEach items="${abc}" var="row">   
         <td>${row.values}</td>   
    </c:forEach>
    

    【讨论】:

    • 打印乱码,因为值是一些对象。
    猜你喜欢
    • 2018-06-10
    • 2022-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2017-11-05
    • 2020-08-12
    相关资源
    最近更新 更多