【问题标题】:How can I use enumset.contains in jsp?如何在 jsp 中使用 enumset.contains?
【发布时间】:2012-07-11 06:23:54
【问题描述】:

我有一个枚举:

enum DestinationTab{
        Overview,
        ThingsTodo
    };

我根据某些条件在我的操作类中设置了一个 enumSet。在我的 jsp 上,我只想渲染这个 enumSet 中存在的那些部分。

这个结构不起作用:

   <s:if test="eSet.contains('ThingsTodo')">
    print something
   </s:if>

如何在 jsp 中使用 enumSet.contains(..) ?

【问题讨论】:

    标签: java jsp enums enumset


    【解决方案1】:

    EnumSet 包含枚举成员,而不是字符串。

    要获取枚举成员,可以使用 valueOf :

    <s:if test="eSet.contains(DestinationTab.valueOf('ThingsTodo'))">
     print something
    </s:if>
    

    或者,当要使用的特定成员是硬编码时:

    <s:if test="eSet.contains(DestinationTab.ThingsTodo)">
     print something
    </s:if>
    

    【讨论】:

    • 当我使用 valueOF java.lang.NullPointerException 时出现异常:方法 valueOf 的目标为 null。我认为它无法解释 DestinationTab
    • DestinationTab 是否可见并已导入?
    • 另外,我想指出,我试图使用位标志。搜索表明我改用 EnumSet。
    • 它是动作类中的一个内部枚举。如何/我需要导入它?
    • Enumset 适用于位标志,因为它们在内部使用类似于普通位向量的构造。
    猜你喜欢
    • 2013-12-03
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多