Java 如何在JSP中从集合中获取所有值
我的Java代码有一个类似于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
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>