我对 Icefaces 和 Facelets 都是新手,但我在一个新项目中使用它们。我已经配置好了一切工作正常。但是,当我访问 mywebapp/file.xhtml 时,整个 facelets 模板源会出现在我的浏览器中。我如何隐藏它以防止用户查看我的服务器端模板?
Greg
问问题
2387 次
2 回答
4
将所有模板放入WEB-INF/someDirectory/templates。
然后根据 facelets 文档将它放在你的 web.xml 中,用于所有其他 xhtml 文件:
<security-constraint>
<display-name>Restrict XHTML Documents</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>Only Let 'developer's access XHTML pages</description>
<role-name>someone</role-name>
</auth-constraint>
</security-constraint>
于 2009-04-12T01:40:03.727 回答
1
在 web.xml 中应该有一个条目,可以让您配置 xhtml 模板的行为(显示/隐藏..)
如果将 .jsp 文件移动到 WEB-INF 文件夹(您必须为 JSF 重新配置 jsp 路径),则无法通过 URL 访问它们。我所知道的每个 J2EE-Server/Webcontainer 都是这样操作的。
另一种方法是自写的 servlet 过滤器等。
但是,为什么要隐藏模板?
于 2009-03-19T15:59:51.347 回答