【问题标题】:issue in iterating map type in struts2在struts2中迭代地图类型的问题
【发布时间】:2013-11-12 21:45:15
【问题描述】:

我尝试在jsp中迭代map类型的变量..但是结果页面什么都没有显示

产品详情的类型为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>

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

【问题讨论】:

  • 为您的地图创建 getter 和 setter。
  • 您需要决定是要迭代键集、值集还是条目集。
  • 怎么做? @beny23
  • @pravin:地图有一个 keySet 和 values 集合,你可以遍历它们,但地图本身不是一个集合。
  • @Pravin:没有足够的信息来提供帮助。你怎么称呼你的行动?你的地图有没有人满?

标签: java jsp tomcat struts2 struts


【解决方案1】:

我认为您需要决定要对地图中的键和值做什么。你可以这样做:

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

注意这将遍历您地图的 entrySet 并使用包含键和值属性的 Map.Entry 对象。

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2016-03-30
    • 2013-12-23
    相关资源
    最近更新 更多