【发布时间】:2011-01-09 12:13:00
【问题描述】:
我在/WEB-INF 中有一些属性文件。我想将它加载到 JSF 托管 bean 中。有什么办法吗?
【问题讨论】:
标签: jsf properties managed-bean properties-file web-inf
我在/WEB-INF 中有一些属性文件。我想将它加载到 JSF 托管 bean 中。有什么办法吗?
【问题讨论】:
标签: jsf properties managed-bean properties-file web-inf
使用 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()。
【讨论】:
String path="/WEB-INF/list.properties";
InputStream is=FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(path);
InputStreamReader r = new InputStreamReader(is);
BufferedReader br = new BufferedReader(r);
【讨论】:
把它放在WEB-INF/classes 中。这是类路径的一部分。
【讨论】:
ExternalContext#getResource() 方法不需要。