JSP / servlet从属性文件读取参数?


问题内容

我的JSP页面需要根据其所处的环境(开发,生产,沙箱等)显示不同的信息。我想为每个环境提供一个属性文件,其中包含它们可能需要的所有参数。如何在JSP页面中引用此文件中的属性?

我的想法是:

  • 让Servlet以模型对象的形式将属性提供给所有JSP页面,以便我可以像$ {properties.propertyName}一样引用它们
  • 以某种方式在web.xml中引用此属性文件,然后也许我调用类似$ {context.properties.propertyName}的名称?
  • 在web.xml中列出参数并在JSP页面中引用这些参数,而不是属性文件。不确定如何执行此操作,但是我非常希望使用一个更简单的属性文件。

更新 -我应该提到我正在使用Spring 3.0和Spring webmvc。因此,如果有一些使用Spring的最佳实践方法,那是理想的选择!


问题答案:
  • 您可以在的方法中使用java.util.Properties(或commons-configuration)加载属性。ServletContextListener``contextInitialized(..)

  • <listener>在web.xml中注册侦听器

  • 然后将储存PropertiesServletContext(您可以从事件中获取)(ctx.setAttribute("properties", properties)

  • 然后使用${applicationScope.properties.propName}(如BalusC所述,applicationScope是可选的)访问属性