这与this question相关:
我需要在启动时将Spring bean注入Tomcat应用程序的范围:
<beans:bean id="myUrl" class="java.lang.String" >
<beans:constructor-arg type="java.lang.String">
<beans:value>${my.registry.location:some.url}</beans:value>
</beans:constructor-arg>
</beans:bean>
有没有一种灵活的方法可以从Spring XML配置中执行此操作,还是需要覆盖一些servlet方法(ugh)?
答案 0 :(得分:0)
我想我会发布这个以防万一。 Spring有一个bean,可以在初始化时执行此操作:ServletContextAttributeExporter。
你这样使用它:
<bean id="myBean" class="java.lang.String" >
<constructor-arg type="java.lang.String">
<value>${some.property.value}</value>
</constructor-arg>
</bean>
<bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
<property name="attributes">
<map>
<entry key="myBean" value-ref="myBean" />
</map>
</property>
</bean>
然后,您可以在非Spring感知的JSP代码中执行类似的操作(例如):
<div>
Value of my bean is: ${applicationScope.myBean}
</div>