在Spring XML配置文件中连接字符串?

HDa*_*ave 18 java xml configuration spring

我在Spring配置文件中有一个String值,它是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>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以在不用Java编写实用程序类的情况下执行此操作?

Grz*_*zki 30

尝试使用Spring EL(表达式语言).我会尝试以下(未测试):

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

<bean id="LogPath" class="org.mystuff.initBean">
    <property name="logDirectory" value="#{myAppHomeDir+'/logs'}"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

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

#{myAppHomeDir.canonicalPath+'/logs'}
Run Code Online (Sandbox Code Playgroud)

如果有效,请告诉我们.