如何在Spring Expression Language中引用常量

时间:2014-07-22 13:48:44

标签: java spring spring-el

我对Spring很新,我有一个bean声明如下。

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

typeOf是一种Integer类型,它是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()}'/>  

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:14)

  

特别的&#39; T&#39; operator可用于指定java.lang.Class的实例(&#39; type&#39;)。也可以使用此运算符调用静态方法。

尝试以下代码。

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