java
  • struts2
  • 2011-12-01 82 views 1 likes 
    1

    在struts2中,我知道我們可以通過OGNL調用靜態方法。自從下午以來我一直試圖稱這種靜態方法,而且似乎無法找出問題所在。struts2靜態方法調用問題

    struts.xml的配置:

    <constant name="struts.ognl.allowStaticMethodAccess" value="true" /> 
    

    jsp頁面:

    .....<s:property value='@[email protected]faultProperty("maxdemocountwords")'/>.... 
    

    Properties.java

    public static String getDefaultProperty(String key){ 
         return defaultProps.getProperty(key); 
    } 
    

    有什麼我失蹤?

    +0

    居然會發生什麼?似乎很好,除了可笑的深層包裝。 –

    +0

    該值不會出現在jsp頁面上。如果我在動作中聲明getDefaultProperty()並從該方法中調用Properties.getDefaultProperty(),那麼它就可以工作。不是直接通過靜態方法調用雖然.. – sethu

    +0

    不知道要告訴你什麼,除了確保完全限定的名稱是正確的,並且你傳遞的屬性鍵是正確的 - 語法和常量是正確的,並且AFAIK適用於所有版本。 –

    回答

    0

    您是否檢查struts.properties中的struts.ognl.allowStaticMethodAccess屬性設置爲true

    +0

    yup thats true。它仍然不起作用。我已經放棄並且硬編碼 – sethu

    -1

    爲我工作,但要注意,這是沒有更多的可能現在: read official Struts documentation

    +0

    在StackOverflow上不鼓勵鏈接回答。 –

    +0

    如果它不可能,那麼你爲什麼要給出這個答案呢? –

    相關問題