jsf获取战争之外的文件路径或目录

时间:2013-11-28 16:18:13

标签: jsf-2.2 glassfish-4

我正在使用jsf 2.2.4框架和glassfish 4服务器在java web应用程序项目中工作。 我的项目中有这样的目录结构:

enter image description here

如何访问gambar目录中的gambar目录和文件? 注意:gambar目录在战争之外(我想把它放在战争之外)。

非常感谢答案

1 个答案:

答案 0 :(得分:1)

没有直接的方法从servlet或框架(如JSF)中的servlet上下文外部加载文件。但是,您可以在Web应用程序的上下文参数中提供绝对文件夹路径,然后从您的JSF bean中读取它

<web-app>
..................
    <context-param>
        <param-name>myfolderpath</param-name>
        <param-value>D:/myfolder</param-value>
    </context-param>
..................
</web-app>

然后阅读

FacesContext ctx = FacesContext.getCurrentInstance();
String myConstantValue =
    ctx.getExternalContext().getInitParameter("myfolderpath");

另一种方法是在服务器启动时在System属性中传递文件夹位置,然后在JSF bean中访问它。

然而,应该更仔细地研究这种设计。关于其缺点herehere

的一些很好的讨论