当前位置: 首页 > 面试题库 >

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

别俊誉
2023-03-14
问题内容

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控制器中访问它?

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
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。如果您有任何疑问,请告诉我。



 类似资料:
  • 来自OpenJDK的Dockerfile:8-jdk-alpine ADD target/.war admin_portal.war ENTRYPOINT[“java”,“-jar”,“admin_portal.war”]来自OpenJDK的Dockerfile:8-jdk-alpine ADD target/.war ui_app.war ENTRYPOINT[“java”,“-jar”,“ui

  • 我的spring boot应用程序中目前只有两个类。第一个是main主引导应用程序类,另一个是服务类。我在应用程序类中声明了如下属性源文件: 其他类是FTPService,其中属性值in使用@value,如下所示: 它打印空。也尝试用下面的注释来注释FTPService,但不起作用。尝试将属性复制到Application.properties,但不起作用。 我的属性文件在src/main/reso

  • 我试图使它与@value注释一起工作,以尝试访问VCAP环境变量,如下所示: 但我还没能抓住价值。 有没有什么方法可以通过@value注释访问VCAP变量?或者除了System.getEnv之外,是否有更好的方法在我部署应用程序后从PCF获取这些凭据?

  • 大家好,我正在学习如何使用Spring,我没有MVC方面的经验。 所以我正在创建一个网站,对mysql数据库的数据进行注册、注销和更改。登录和数据库插入都准备好了,但我不能删除注册用户部分。 我的模型: 我的控制器: 我的服务和实施: 实施: 最后是StudentDeleteRepository: 学习积极性。JAVA 在我的删除中。jsp都是从以下内容开始的: 我得到了这个错误: 这部分是: 为

  • 我有一个运行在JBoss 4.2中的spring mvc应用程序。我正在尝试将此web应用迁移到JBoss wildfly 10(wildfly-10.0.0.Final版本)。应用程序部署成功,但当我尝试访问http://localhost:8080/myApp/服务器重新运行“禁止”。如果我尝试访问http://localhost:8080/myApp/web/buscador/init服务器

  • 我正在使用Spring Boot和Spring data jpa。我也在使用hibernate envers,我需要访问AuditReaderFactory,以便我可以编写审计查询。 因为它是Spring Boot和spring数据jpa,所以一切都是自动配置的。所以当我这么做的时候, 它不起作用。我得到以下错误。 如何在我的存储库类中获得对AuditReaderFactory的正确引用?

  • 我使用的是Eclipse Kepler,我已经安装了Spring IDE和STS,但当我创建Spring MVC Template项目时,出现了错误,然后我转到Maven Update选项,但出现了错误。我不知道为什么。求求你,救命! 错误:项目构建过程中出错[firstSpring]构建过程中发生错误。在项目“firstSpring”上运行构建器“分面项目验证构建器”时出错。无法初始化类org.

  • 问题内容: 第一个问题 请,请您解释一下如何在MVC中实现最简单的ACL。 这是在Controller中使用Acl的第一种方法… 这是非常糟糕的方法,它的缺点是我们必须将Acl代码添加到每个控制器的方法中,但是我们不需要任何其他依赖项! 下一种方法是制作所有控制器的方法,并将ACL代码添加到控制器的方法中。 它比以前的代码更好,但主要缺点是… 所有控制器的方法都应该是私有的 我们必须将ACL代码添