【问题标题】:Concatenate strings within a Spring XML configuration file?在 Spring XML 配置文件中连接字符串?
【发布时间】:2011-05-14 18:23:25
【问题描述】:

我在 Spring 配置文件中有一个字符串值,它是 JNDI 查找的结果——它恰好是一个路径名:

<jee:jndi-lookup id="myAppHomeDir" jndi-name="myAppHomeDir" />

现在我需要将另一个字符串连接到该路径的末尾,并将其交给另一个 Spring bean,如下所示(这当然不起作用):

<bean id="LogPath" class="org.mystuff.initBean">
    <property name="logDirectory">
       <jee:jndi-lookup id="myAppHomeDir"
                 jndi-name="myAppHomeDir" /> + "/logs"
    </property>
</bean>

有没有一种简单的方法可以做到这一点,而无需我用 Java 编写实用程序类?

【问题讨论】:

    标签: java xml spring configuration


    【解决方案1】:

    尝试使用Spring EL (expression language)。我会尝试以下(未测试):

    <jee:jndi-lookup id="myAppHomeDir" jndi-name="myAppHomeDir" />
    
    <bean id="LogPath" class="org.mystuff.initBean">
        <property name="logDirectory" value="#{myAppHomeDir+'/logs'}"/>
    </bean>
    

    不太确定它是否会起作用。困扰我的事情是连接时从 File (我猜)到 String 的转换。所以如果前一个不起作用,我会尝试:

    #{myAppHomeDir.canonicalPath+'/logs'}
    

    让我们知道它是否有效。

    【讨论】:

    • 完美运行。我一直在使用 Spring,但实际上从未使用过 Spring 表达式语言。将不得不复习这一点....谢谢。
    猜你喜欢
    • 2012-01-04
    • 2011-09-15
    • 2020-03-17
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    相关资源
    最近更新 更多