Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSP中从集合中获取所有值_Java_Jsp_Collections_Map - Fatal编程技术网

Java 如何在JSP中从集合中获取所有值

Java 如何在JSP中从集合中获取所有值,java,jsp,collections,map,Java,Jsp,Collections,Map,我的Java代码有一个类似于 Map<Integer, someObject> abc = new HashMap<String, someObject>(); Map abc=newhashmap(); 某些对象具有我需要打印的某些属性 我只需要打印地图上的值 JSP代码 <c:forEach items="${abc .values()}" var="row"> <td>${row.someValue}<td

我的Java代码有一个类似于

Map<Integer, someObject> abc = new HashMap<String, someObject>();
Map abc=newhashmap();
某些对象具有我需要打印的某些属性

我只需要打印地图上的值

JSP代码

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

${row.someValue}

但是当values()返回一个集合时,它会打印一些乱七八糟的内容,并且无法正确地迭代它。有办法吗?

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

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

${row.values}

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

如果someObject为您的属性设置了getter/setter,那么它的工作方式应该如下:

class SomeObject {
...
    String getSomeValue() {
        return someValue;
    }
}

<c:forEach items="${abc.values()}" var="row">   
    <td>${row.someValue}<td>   
</c:forEach> 
class-SomeObject{
...
字符串getSomeValue(){
返回一些值;
}
}
${row.someValue}

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

class-SomeObject{
...
字符串someValue(){
返回“废话”;
}
}
${row.someValue()}

它正在打印乱码,因为这些值是一些对象。我不确定为什么会得到一些随机乱码值。现在,当我尝试重建我的项目(我在临时目录中进行更改并刷新页面)时,它工作了。谢谢你的帮助。
class SomeObject {
...
    String someValue() {
        return "blah blah";
    }
}

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