提供没有facelets / jsf-tags的常见html

时间:2018-01-11 20:59:59

标签: jsf-2 facelets

我的文件夹包含 client-side-html-template (“template.xhtml”)。该文件夹位于公用文件夹中(不在WEB_INF中)。

当保存带有后缀“xhtml”的文件并用"<ui:composition"包装内容时,客户端(ajax)请求可以访问。

但是,当我将其保存到“template.html”并删除"<ui:composition"时,客户端ajax无法访问此页面(401)。

我的web.xml有这个映射:

<context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>
<servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.html</url-pattern>
        </servlet-mapping>
<mime-mapping>
        <extension>xhtml</extension>
        <mime-type>text/html</mime-type>
    </mime-mapping>
    <security-constraint>
        <display-name>Restrict raw XHTML Documents</display-name>
        <web-resource-collection>
            <web-resource-name>XHTML</web-resource-name>
            <url-pattern>*.xhtml</url-pattern>
        </web-resource-collection>
        <auth-constraint />
    </security-constraint>

如何通过客户端ajax请求提供常见的“html文件”而不通过jsf / facelets拦截这些文件?

1 个答案:

答案 0 :(得分:0)

找到一种简单的方法,无需更改web.xml:

我将静态“html”文件更改为“htm”。