2014-07-22 32 views
7

我對Spring很新,我有一個bean聲明如下。如何在Spring表達式語言中引用一個常量

<bean id="mybean" class="" scope="prototype"> 
     <property name='typeOf' value='#{typeOfBuilder.getKeyFor("OPEN_DATE").getId()}'/>  
</bean> 

typeOf是整數類型的哪個是哪個typeOfBuilder建立由Key這是在這種情況下OPEN_DATE另一個表的鍵。

此代碼工作正常,但有一個限制。 OPEN_DATENON-MANAGE Spring Bean中的常量,如下所示。

public final class Constants 
{ 
    public final static String KEY_FOR_OPEN_DATE = "OPEN_DATE";  
} 

並強烈建議能夠參考它!

這樣的事情。

<util:constant id="PATH_TO_CONSTANT" static-field="myPath"/> 
<property name='typeOf' value='#{typeOfBuilder.getKeyFor(PATH_TO_CONSTANT).getId()}'/> 

任何幫助,非常感謝。

回答

10

特殊的'T'運算符可用於指定java.lang.Class('類型')的實例。也使用此運算符調用靜態方法。

嘗試下面的代碼。

<property name='typeOf' value='#{typeOfBuilder.getKeyFor(T(some.package.Constants).KEY_FOR_OPEN_DATE).getId()}'/> 
+0

它的工作原理非常完美,非常感謝... – chiperortiz

相關問題