我在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>
有没有一种简单的方法可以在不用Java编写实用程序类的情况下执行此操作?
答案 0 :(得分:30)
尝试使用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'}
告诉我们是否有效。