【问题标题】:How to get properties file from /WEB-INF folder in JSF?如何从 JSF 的 /WEB-INF 文件夹中获取属性文件?
【发布时间】:2011-01-09 12:13:00
【问题描述】:

我在/WEB-INF 中有一些属性文件。我想将它加载到 JSF 托管 bean 中。有什么办法吗?

【问题讨论】:

    标签: jsf properties managed-bean properties-file web-inf


    【解决方案1】:

    使用 ExternalContext#getResource()ExternalContext#getResourceAsStream() 在其中传递 webcontent-relative 路径。

    例如:

    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    Properties properties = new Properties();
    // ...
    properties.load(externalContext.getResourceAsStream("/WEB-INF/file.properties"));
    

    这在幕后代表ServletContext#getResource()/getResourceAsStream()

    另见:

    【讨论】:

    • 能否给我一个提示,ExternalContext 的子类是哪些类(ExternalContext 是抽象的)或者从哪里获取 externalContext 对象?
    • @LukaszCzerwinski : ExternalContext externalContext = facesContext.getExternalContext();
    【解决方案2】:
         String path="/WEB-INF/list.properties";
    
        InputStream is=FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(path);
        InputStreamReader r = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(r);
    

    【讨论】:

      【解决方案3】:

      把它放在WEB-INF/classes 中。这是类路径的一部分。

      【讨论】:

      • ...顺便说一句,ExternalContext#getResource() 方法不需要。
      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      • 2013-09-24
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      相关资源
      最近更新 更多