如何使用在 JSP 中的 PropertyPlaceholderConfigurer 中指定的属性文件中的属性

2022-09-03 09:17:22

在我的应用程序上下文中,我定义了属性文件:

<context:property-placeholder  location="classpath:application.properties" />

我想获取JSP页面上该文件中定义的属性的值。有没有办法做到这一点

${something.myProperty}?

答案 1

PropertyPlaceholderConfigurer只能在Spring配置(XML或注释)中解析占位符。在春季应用中使用豆子非常普遍。您可以通过这种方式从视图中访问它(假设您正在使用):PropertiesInternalResourceViewResolver

<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>

然后,在 JSP 中,可以使用 或 。${properties.myProperty}${properties['my.property']}


答案 2

在Spring 3.1之后,您可以将标签与SpEL一起使用,如下所示:<spring:eval />

<spring:eval expression="@applicationProps['application.version']" 
             var="applicationVersion"/>

推荐