2012-07-11 22 views
1

我有一个枚举:如何在jsp中使用enumset.contains?

enum DestinationTab{ 
     Overview, 
     ThingsTodo 
    }; 

我在动作类设置enumSet基于某些条件。在我的jsp上,我只想渲染出现在这个枚举集中的那些部分。

此构造不起作用:

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

如何使用JSP中enumSet.contains(..)?

回答

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> 
+0

我得到一个异常时,我使用的valueOf爪哇。 lang.NullPointerException:方法valueOf的target为null。我认为它不能解释DestinationTab – brainydexter 2012-07-11 06:39:47

+0

DestinationTab是否可见和导入? – 2012-07-11 06:40:24

+0

另外,我想指出,我试图使用位标志。搜索指出我使用EnumSet代替。 – brainydexter 2012-07-11 06:40:39