使用注释 spring 读取 jsp 中的属性文件 4

reading properties file in jsp using annotation spring 4

我需要在不使用 xml 文件的情况下使用注释来执行此操作。

< bean id="placeholderConfig"       class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >
        < property name="locations" >
            < list >
                < value >app.properties< / value >
            < / list >
        < / property >
< / bean >

我需要在我的 jsp 中调用我的 属性 值,例如 ${test.name}(其中 test.name 在 app.properties 中配置)

现在我这样做

@PropertySource(value="app.properties", ignoreResourceNotFound=true)
...
@Bean(name="placeholderConfig")
    public static PropertySourcesPlaceholderConfigurer placeholderConfigurer(){
        PropertySourcesPlaceholderConfigurer cfg = new PropertySourcesPlaceholderConfigurer();
        cfg.setLocation(new ClassPathResource("app.properties"));
        cfg.setIgnoreUnresolvablePlaceholders(true);
        return cfg;
    }

这样我就可以访问

@Value("${test.name}")
    String name; //contain value of test.name configured in app.properties

但是如果我在 jsp 中执行 ${test.name},则不会读取。 让 jsp 读取我必须做的值(在我的 java class 中)

@Value("${test.name}")
    String name;
...
model.addObject("name", name);

有一种方法可以直接从我的 jsp 访问我的 属性,使用 ${test.name} 代码?

我找到了一种方法。 我将这段代码放在我的 java 页面中,以及我的 bean 声明

@Bean(name="messageSource")
    public static ReloadableResourceBundleMessageSource messareSource(){
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("/WEB-INF/app");
        return messageSource;
    }

将文件 app_it_IT.properties 放入 WEB-INF 文件夹

test.name = test

最后我在 jsp 页面

中使用了这段代码
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:message code="test.name" var="propName"/ >
${propName}