0

struts2 を使用した OGNL で静的フィールドにアクセスできない

<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"/> を正しく設定しました

4

1 に答える 1

3

問題は静的フィールドではなく、基本的な Struts2 タグ構文に関連しています。コードはいくつかのレベルで間違っています。

まず、Struts2 が内部の内容を評価してレンダリングするものとして解釈するように、使用する必要があるvalue属性です ( fieldValueは、固定のアドホックな value="" 属性をhtml)。

第 2 に、Struts2 を学習している場合は静的フィールドを使用しないでください。最初に基本的で典型的なシナリオを理解してください。

第 3 に、その文字列をチェックボックスの値として使用するのはほとんど意味がありません。これには 2 つの値 (true と false) しかありません。

于 2010-06-21T21:03:53.780 に答える