代码之家  ›  专栏  ›  技术社区  ›  chiperortiz

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

  •  10
  • chiperortiz  · 技术社区  · 10 年前

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

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

    typeOf 是一种Integer类型,它是另一个表的键 typeOfBuilder 生成者 Key 这是 OPEN_DATE 在这种情况下。

    此代码工作正常,但有一个限制。 打开日期(_D) NON-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 回复  |  直到 10 年前
        1
  •  23
  •   pgiecek    10 年前

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

    尝试下面的代码。

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