gpt4 book ai didi

java - 支柱 2 如果 : compare enum

转载 作者:搜寻专家 更新时间:2023-11-01 01:30:31 27 4
gpt4 key购买 nike

我有一个带有以下代码的 Struts 2 jsp...

<s:iterator value="categories" id="category" status="iteratorStatus">
<s:if test='#category == "M" '> snip </s:if>

问题是类别背后的 java 代码是..

    private static final CategoryEnum[] PRIVATE_VALUES = {A,B,C,M   };
public static final List<CategoryEnum> VALUES = Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES));
public List<CategoryEnum> getCategories() {
return CategoryEnum.VALUES;
}

因此 IF 语句不起作用,它永远不会计算为真。我试过转义字符等,但没有成功。

我更愿意使用“category”值回调 Action 类,并让其决定要做什么。例如

<s:if test='renderCategory(#category)>  snip </s:if>

但我不知道如何将#category 传递回操作。

那么谁能帮我弄清楚如何将值传回或使 Struts IF 标签与枚举一起工作。

我已经读过这个:这对这里没有多大帮助,但无论如何我都会引用一下:

Struts 2: Why won't the 'if' tag evaluate a one char string

谁能帮帮我?

杰夫波特

最佳答案

我似乎没有查看 CategoryEnum 类(只附加了 .class 而不是 .java)。

CategoryEnum 类虽然它是一个枚举,但值是它们自己的类,因此调用它的 toString() 将允许我比较每个内部的值。

<s:iterator value="categories" id="category" status="iteratorStatus">
<s:if test='#category.toString() == "M" '> snip </s:if>

关于java - 支柱 2 如果 : compare enum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2043802/

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