【问题标题】:How to reference a constant in Spring Expression Language如何在 Spring 表达式语言中引用常量
【发布时间】:2014-07-22 13:48:44
【问题描述】:

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

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

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

非常感谢任何帮助。

【问题讨论】:

    标签: java spring spring-el


    【解决方案1】:

    特殊的“T”运算符可用于指定 java.lang.Class 的实例(“类型”)。静态方法也使用此运算符调用。

    试试下面的代码。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 2020-03-03
      • 2016-02-02
      相关资源
      最近更新 更多