9

良い一日!

Manning の struts2 本を読んでいて、トピックの 1 つは、構文を使用して OGNL を使用して静的変数にアクセスすることです。 @[fullClassName]@[property or methodCall]

だから私は自分のプログラムで試してみましたが、コードは次のとおりです。

豆:

public class ContactsBean {

    private static int count = 1;
    //getter and setter
}

アクション:

private ContactsBean contacts;
//getters and setters

JSP:

   <s:property value="@com.demo.bean.ContactsBean@count" />

or
    <s:property value="@vs@count" />  //valuestack method

しかし、うまくいきません。何か不足していますか?ありがとうございました。

4

4 に答える 4

14

@see OGNL Basics:静的プロパティへのアクセス

ビーン

public class ContactsBean {
    private static int count = 1; 

    // static getter
    // setter
}

<s:property value="@com.demo.bean.ContactsBean@getCount()" />

その他の場合

public class ContactsBean {
    public static final int SCALE = 50;
}

<s:property value="@com.demo.bean.ContactsBean@SCALE" />
于 2011-08-02T04:34:08.530 に答える
0

struts.xml で以下のエントリを記述した場合、問題なく動作します。

  <constant name="struts.ognl.allowStaticMethodAccess" value="true"/> 
于 2012-02-04T18:02:22.837 に答える
0

struts 2 (2.3.20) の新しいリリースで述べたように、この ( struts.ognl.allowStaticMethodAccess) はすぐに struts から削除されます。

Struts 2 リファクタリング コードを確認して、OGNL 静的メソッド アクセスを回避し、新しいバージョンでこの機能を引き続き使用する方法を確認してください。

于 2015-03-11T05:49:09.207 に答える