2012-07-11 21 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