OGNL Статические поля не работают в стойках2 - PullRequest
0 голосов
/ 22 июня 2010

Невозможно получить доступ к статическим полям с OGNL с Struts2

<s:checkbox  name="operation" fieldValue="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" />

Выше приведен HTML, как показано ниже

<input type="checkbox" name="operation" value="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" id="entry_operation"/>

вместо статической константы, объявленной как

com.xx.xxx.webapp.action.EntryAction.OPERATIONAL = "OPERATIONAL";

У меня есть константа <constant name="struts.ognl.allowStaticMethodAccess" value="true"/>, установленная правильно

1 Ответ

3 голосов
/ 22 июня 2010

Ваша проблема связана не со статическими полями, а с базовым синтаксисом тега Struts2.Код неверен на нескольких уровнях.

Во-первых, это атрибут value , который вы должны использовать, чтобы Struts2 интерпретировал то, что находится внутри, как что-то для оценки и визуализации ( fieldValue только для тех редких случаев, когда вам нужно записать фиксированный атрибут ad-hoc value = "" в html).

Во-вторых, вам не следует использовать статические поля, если вы изучаете Struts2, понимаетесначала базовые и типичные сценарии.

В-третьих, не имеет смысла использовать эту строку в качестве значения флажка, который имеет только два значения (true и false).

...