Объединить строки в файле конфигурации Spring XML?
У меня есть значение String в файле конфигурации 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?
Ответы
Ответ 1
Попробуйте использовать Spring EL (язык выражений). Я бы попробовал следующее (не тестировалось):
<jee:jndi-lookup id="myAppHomeDir" jndi-name="myAppHomeDir" />
<bean id="LogPath" class="org.mystuff.initBean">
<property name="logDirectory" value="#{myAppHomeDir+'/logs'}"/>
</bean>
Не совсем уверен, что это сработает. То, что меня беспокоит, - это бросок из файла (я думаю) в String при конкатенации. Поэтому, если предыдущий не работал, я бы попытался:
#{myAppHomeDir.canonicalPath+'/logs'}
Сообщите нам, если он работает.