有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Spring表达式语言中引用常量

我对Spring很陌生,我有一个bean声明,如下所示

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

typeOf是一种整数类型,它是另一个表的键,在本例中,typeOfBuilderKey构建,即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) 个答案

  1. # 1 楼答案

    The special 'T' operator can be used to specify an instance of java.lang.Class (the 'type'). Static methods are invoked using this operator as well.

    请尝试下面的代码

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