2013-04-17 17 views
11

Mam następujące klasyStruts2 dostępu enum z JSP

package com.test; 

public class SomeClass { 
    public enum COLOR {RED,BLUE} 
} 

Chcę uzyskać dostęp do wartości COLOR enum w moim JSP. Próbowałem poniższy kod, ale nie działa.

<s:property value="@[email protected]"/> 
<s:property value="@[email protected]"/> 

Jakieś ciało napotkało ten problem wcześniej? [Mam już włączony dostęp do metody statycznej w pliku struts.xml]

+0

można zrobić, ale trzeba włączyć 'struts.ognl.allowStaticMethodAccess = TRUE –

+2

rzucić okiem na ten http://stackoverflow.com/questions/6708594/struts-2-iterate-enum –

+0

pytanie i że należy się połączyć. Tytuł tego pytania jest wyraźniejszy, ale skutecznie wymagają tego samego rozwiązania. – Quaternion

Odpowiedz

14

Dla enum -s nie ma potrzeby włączania static method access.

Enum-y można uzyskać za pomocą @ znak tak:

<s:property value="@[email protected]"/> 

W twoim przypadku, ponieważ jesteś deklarowania enum użytku wewnątrz klasy $ znak odnoszący się do enum.

<s:property value="@[email protected]"/> 
+1

Fajnie i schludnie, +1 –

+1

Chciałbym poznać tę odpowiedź kilka tygodni temu. "$" Jest tym, czego mi brakowało, ponieważ moje "wyliczenia" są zadeklarowane w innych klasach. – Matt