2012-02-07 3 views
2

, в настоящее время использующий Spring 'exposureContextBeanNames', чтобы позволить мне отображать свойства в моем представлении, но havign проблемы с некоторыми свойствами, которые содержат «.».Невозможно получить свойства с помощью exposeContextBeansAsAttributes

Мой XML установлены как

<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> 
    <property name="locations"> 
     <list><value>classpath:servers.properties</value> </list> 
    </property> 
</bean> 

<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
    <property name="prefix" value="/WEB-INF/views/"/> 
    <property name="suffix" value=".jsp"/> 
    <property name="exposeContextBeansAsAttributes" value="true"/> 
    <property name="exposedContextBeanNames"> 
     <list> 
      <value>properties</value> 
     </list> 
    </property> 
</bean> 

Мой "servers.properties" имеет ряд значений

value1=this is the first value 
value.value1=this is my second value 

В моем JSP

${properties.value1} 

покажет «это первое значение ", как ожидалось, но

${properties.value.value1} 

не работает. Я надеюсь, что кто-то сможет мне помочь. Спасибо

ответ

3

Попробуйте ${ properties['value.value1'] }.

+0

который сработал отлично. – user815809

+0

вы знали бы, возможно ли это сделать, если бы мой файл свойств выглядел так: value1 = $ {my.env.value}, где он собирает значение envirnoment. если я попытаюсь напечатать это значение, я получу строку «$ {my.env.value}» вместо значения env. – user815809

+0

превосходный ответ .. :) Спасибо @axtavt :) –

Смежные вопросы