JSP将hashmap键与对象值进行比较

时间:2017-12-01 15:20:29

标签: java jsp struts2 ognl

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

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条件存在一些问题,因为它没有被执行。任何人都可以帮助我找不到的东西吗?

由于

1 个答案:

答案 0 :(得分:0)

boxCatgKey前面使用哈希(#)。

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

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

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

您可以#boxCatgKey访问它。