Подтвердить что ты не робот

Объединить строки в файле конфигурации 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?

4b9b3361

Ответ 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'}

Сообщите нам, если он работает.