gpt4 book ai didi

java - 在 Struts 2 中使用 OGNL 检查 "top"值的成员资格

转载 作者:行者123 更新时间:2023-11-29 09:01:19 25 4
gpt4 key购买 nike

我正在使用带有 JSP 模板和 Struts 2 标签的 Struts 2。有了这些,我似乎无法检查 HashMap 中某个值的成员资格。 .

map 设置正确,有一个List<Taxon>我正在迭代,我想检查该元素是否存在于我拥有的名为 synonyms 的 map 中这是类型 Map<Taxon, Taxon> .

当我查看 in 时运算符,我总是得到 false,即:

<s:if test="top in synonyms"> .... </s:if>

另一方面,这总是正确的:

<s:if test="synonyms[top] != null"> ... </s:if>

如果我执行以下操作,如果元素在 map 中,我会得到正确的值,如果不在 map 中,我会得到某种空值:

<s:property value="synonyms[top].name />

奇怪的是,如果taxon是我正在迭代的任何东西的属性(即我将它包装在另一个类中),然后检查 element != null 是否实际上工作正常。这是 OGNL 中的错误还是我做错了什么?

最佳答案

要检查您正在迭代的一个集合的元素是否包含在另一个集合中,通常使用 contains 方法。要通过 OGNL 使用调用它

<s:if test="synoynms.values.contains(top)"> 

<s:if test="synoynms.keys.contains(top)"> 

它将使用 Java 来确定 iterator 标记中的 top 元素是否属于集合。

关于java - 在 Struts 2 中使用 OGNL 检查 "top"值的成员资格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17282262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com