我想在我的web应用程序定义一些复合材料部件。 根据我读的教程,我要的XHTML文件放在位于web内容的资源文件夹内。 该解决方案是有问题的,因为它将使可从网址公共访问这些文件。 有没有办法把这个组件的WEB-INF文件夹中,并为那里的文件JSF的外观的方法吗? 如果没有,是否有另一种方式来避免直接访问?
谢谢。
PS:我看着这个答案 ,如果我理解正确的BalusC的回答,我打算做的是可能的。
我想在我的web应用程序定义一些复合材料部件。 根据我读的教程,我要的XHTML文件放在位于web内容的资源文件夹内。 该解决方案是有问题的,因为它将使可从网址公共访问这些文件。 有没有办法把这个组件的WEB-INF文件夹中,并为那里的文件JSF的外观的方法吗? 如果没有,是否有另一种方式来避免直接访问?
谢谢。
PS:我看着这个答案 ,如果我理解正确的BalusC的回答,我打算做的是可能的。
“复合材料部件”是不完全一样的问题是“成分” /回答您找到。 的OP显然谈论的组合物如在<ui:include>
其包括文件<ui:componsition>
内容。
您可以有效地要防止直接访问/resources
。 这可以通过添加以下安全约束项来实现web.xml
:
<security-constraint>
<display-name>Restrict direct access to JSF resources</display-name>
<web-resource-collection>
<web-resource-name>JSF resources</web-resource-name>
<url-pattern>/resources/*</url-pattern>
</web-resource-collection>
<auth-constraint /><!-- Empty auth constraint! -->
</security-constraint>
按照即将到来的JSF 2.2,因为它可以让你移动整个这不会是必要再/resources
文件夹复制到/WEB-INF
在以下配置条目web.xml
:
<context-param>
<param-name>javax.faces.WEBAPP_RESOURCES_DIRECTORY</param-name>
<param-value>WEB-INF/resources</param-value>
</context-param>