PropertyPlaceholderConfigurer
sólo puede analizar marcadores de posición en la configuración de la primavera (XML o anotaciones). Es muy común en las aplicaciones de Spring usar un Properties
bean. Se puede acceder a él desde el punto de vista de esta manera (suponiendo que está utilizando InternalResourceViewResolver
):
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list><value>classpath:config.properties</value></list>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
<property name="exposedContextBeanNames">
<list><value>properties</value></list>
</property>
</bean>
Luego, en su JSP, puede utilizar ${properties.myProperty}
o ${properties['my.property']}
.
realmente bueno! Pero el primer bean en declaración es de tipo PropertiesFactoryBean, no de ProperyPlaceholderConfigurer. ¿Debería significar esto que para poder reemplazar los marcadores de posición de propiedad en xml debo duplicar la declaración de propiedades de aplicación en PropertyPlaceholderConfigurerBean? – glaz666
@ glaz666: Olvidé decir que PropertyPlaceholderConfigurer no es apropiado para esto. Edité mi respuesta un poco. – sinuhepop
Pasé este bean "properties" a PlaceHolderConfigurer y parece que funciona, pero todavía no puedo hacerlo funcionar en archivos JSP porque cuando intento acceder a $ {properties} incluso no estoy tratando de llamar a getAttribute desde ContextExposingHttpServletRequest donde exposición de frijoles ocurre – glaz666