4

我对 Icefaces 和 Facelets 都是新手,但我在一个新项目中使用它们。我已经配置好了一切工作正常。但是,当我访问 mywebapp/file.xhtml 时,整个 facelets 模板源会出现在我的浏览器中。我如何隐藏它以防止用户查看我的服务器端模板?

4

2 回答 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 回答