jsf-2 - JSF 2 访问 Facelet 文件

标签 jsf-2 facelets

我开始探索 JSF 2 facelet,我想在一个简单的项目中对此进行测试。

我只是对 JSF 2 中的文件结构有一些疑问。当我使用 Spring 时,
我习惯将所有页面放在 WEB-INF 下,这样浏览器就无法访问它们。

我注意到在 JSF 2 中,您应该将 *.xhtml 放在 WEB-INF 之外并允许通过
Faces Servlet。

问题,这是否意味着所有使用 JSF 的企业应用程序总是把
web.xml 中的安全约束?

<security-constraint>
    <web-resource-collection>
        <web-resource-name>XHTML files</web-resource-name>
        <url-pattern>*.xhtml</url-pattern>
    </web-resource-collection>
    <auth-constraint />
</security-constraint> 

或者他们正在使用某种过滤器,它会捕获所有传入的请求,然后拒绝请求
有 *.xhtml?

我的理解是否正确,如果正确,哪个更适合使用?

谢谢

最佳答案

JSF 2.x 中的第三种选择是映射 FacesServlet直接上*.xhtml而不是 *.jsf管他呢。这样您就不需要拼凑安全约束或过滤器来阻止最终用户直接访问 *.xhtml文件。它的唯一缺点是您不能在不调用 FacesServlet 的情况下提供“普通的”XHTML 文件。 ,但这反过来已经没有多大意义,因为这些文件在技术上应该具有 *.html延期。

请注意,这在旧的 JSF 1.x 中不起作用。 FacesServlet将在无限循环中运行,一次又一次地调用自己。

关于jsf-2 - JSF 2 访问 Facelet 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7358697/

相关文章:

jsf-2 - <p :dataGrid> 内的 Primefaces 条件逻辑

jsf - 如何通过ajax验证两个密码字段?

java - Primefaces 标签不起作用

java - 空 <f :selectItems > in JSF 2. 0

jsf-2 - 用户界面 ID :repeat

ajax - 自动将焦点设置在 p :editor on page load

java - 使用 JSF 2.2 的 Google App Engine 中的文件上传错误

jsf - 更改复合组件的命名空间

jsf - 滚动数据表素数

JSF Facelets 如何包含外部 html?