我试图在jsp中迭代地图类型的变量..但结果页面什么也没显示

产品详细信息的类型为Map<String,String>

//行动

public String execute() {
productDetails = displayServiceDao.fetchProductDetailsService( product );}
public Map<String , String> getProductDetails() {
return productDetails;
}
public void setProductDetails( Map<String , String> productDetails ) {
this.productDetails = productDetails;
}


// jsp

<s:iterator var="studentEntry" value="productDetails.entrySet()">
<s:property value="%{#studentEntry.getKey()}"/>
<s:property value="%{#studentEntry.getValue()}"/>
</s:iterator>


注意:我不是在动作类中添加要映射的值。.i是通过函数的返回值添加的

最佳答案

我认为您需要确定要对地图中的键和值执行的操作。您可以这样做:

<s:iterator value = "productDetails" >
    <s:property value="key"/>
    <s:property value="value"/>
</s:iterator>


N.b.这将遍历映射的entrySet并使用包含键和值属性的Map.Entry对象。

关于java - struts2中迭代 map 类型的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19927761/

10-09 07:29