java - 在 Spring-MVC 中访问应用程序属性

标签 java spring spring-mvc

Spring-MVC 新手。

我想在 .properties 文件中存储两个属性(uploadFolder=.., downloadFolder=..)和 在 HomeController 类(由 MVC 模板自动创建)中访问它。

你能指导我如何......

1) 使用以上内容创建了一个 app.properties 文件并将其放在/src/main/resources 下。这是正确的还是应该放在/webapp/resources 下?

2) 按照以下方式在 servlet-context.xml 中放置一个 bean。这是正确的吗?

<beans:bean id="messageSource"
   class="org.springframework.context.support.ResourceBundleMessageSource">
   <beans:property name="basename" value="app" />
</beans:bean>

3) 现在如何在 Java Controller 中访问它?

4) 我如何在 JSP 中访问这些?

我不知道我会多么感谢你。

最佳答案

有几种不同的方法可以做到这一点。我执行以下操作。在应用上下文中:

<util:properties id="myProps" location="classpath:app.properties" />

确保文件顶部包含“util”命名空间:

xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation= "... http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"

我通常将属性文件放在 src/main/resources 中。只要他们在类路径上,你就很好。然后,在您的 Controller 中,您可以使用以下方式注释您的字段/方法:

@Controller
public class MyController {

    @Value("#{myProps['uploadFolder']}")
    private String uploadFolder

    @Value("#{myProps['downloadFolder']}")
    private String downloadFolder

    @RequestMapping("myPage")
    public String loadPage(ModelMap m) {
        m.addAttribute("uploadFolder", uploadFolder);
        m.addAttribute("downloadFolder", downloadFolder);
        return "myPage";
    }

    public void setUploadFolder(String uploadFolder) {
        this.uploadFolder = uploadFolder;
    }
    public void setDownloadFolder(String downloadFolder) {
        this.downloadFolder = downloadFolder;
    }
}

然后,在您的 JSP 中:

Download folder: ${downloadFolder} <br/>
Upload folder: ${uploadFolder}

HTH。如果您有任何问题,请告诉我。

关于java - 在 Spring-MVC 中访问应用程序属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10044789/

相关文章:

java - Spring @Bean Name,不适用于@Qualifier

java - 以增量方式显示数据库查询结果

java - spring 应用程序未在对象上找到属性

java - 为一个数组分配多个值?

java.lang.illegalargumentException 无法将 java.lang.string 字段设置为 java.lang.String

java - @Cachable 在没有输入参数的方法上?

java - Jackson JSON - 解码时出现 "no single-String constructor/factory method"错误

java - java服务器和matlab客户端之间的通信

java - JSON-Lib 和 JDK 1.4 的 NoSuchMethodError

java - Tomcat 不读取 Spring-Boot 应用程序属性