【问题标题】:JSP comparing hashmap key with an object valueJSP 将 hashmap 键与对象值进行比较
【发布时间】:2017-12-01 15:20:29
【问题描述】:

我是 JSP 新手,在执行哈希映射键和对象值的比较时遇到问题。我有一个对象(框),它有一个字符串字段(大小)。我还有一个哈希图,其中包含基于大小的框列表

Map<String, List<Box> boxCatgMap=new HashMap<String, List<Box>>();

  <s:iterator value="boxCatgMap" var="boxCatg">
        <s:set var="boxCatgKey" value="#boxCatg.key"/>
        <s:iterator value="boxes" var="box" status="ind">
           <s:if test="%{#box.size.equals(boxCatgKey)}">
            //some code
           </s:if></s:iterator>
  </s:iterator>

if 条件有一些问题,因此它没有被执行。任何人都可以帮助我错过什么吗?

谢谢

【问题讨论】:

  • 请在boxCatgKey前面加#试试test="%{#box.size.equals(#boxCatgKey)}"
  • 不客气。

标签: java jsp struts2 ognl


【解决方案1】:

boxCatgKey 前面也使用井号 (#)。

<s:if test="%{#box.size.equals(#boxCatgKey)}"></s:if>

当您将Struts 2 data-tags 与默认范围(即操作范围)一起使用时:

<s:set var="boxCatgKey" value="#boxCatg.key"/>

您可以通过#boxCatgKey访问它。

【讨论】: