如何使用omnifaces CDN资源处理程序与版本化资源?

时间:2014-05-27 21:51:35

标签: jsf omnifaces

如何在版本化资源中使用omnifaces CDNResourceHandler?

原始网址:

javax.faces.resource/jquery/jquery.js.xhtml?ln=primefaces&v=5.0

所需网址

//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

如何将其映射到特定网址,省略版本查询参数?

映射:

使用以下映射会将版本查询参数附加到最终的URL,从而导致404 HTTP错误。

primefaces:jquery/jquery.js=//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js

结果:

//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js&v=5.0

系统:

Glassfish 4
Mojarra 2.24
Primefaces 5.0
重写2.11

1 个答案:

答案 0 :(得分:1)

我复制了它。 OmniFaces PrimeResourceHandler之后初始化的PrimeFaces CDNResourceHandler时会发生这种情况。

如果您在CDNResourceHandler内声明了/WEB-INF/faces-config.xml,那么这是非常意外的,可能是GlassFish4中的错误。

但是,如果您已经在JAR中CDNResourceHandler声明/META-INF/faces-config.xml,而{J}又放在/WEB-INF/lib内,那么如果GlassFish在之前初始化该JAR,则确实会发生这种情况。 PrimeFaces JAR。为了解决这个问题,您需要在PrimeFaces之后通过向JAR的/META-INF/faces-config.xml添加以下条目来明确声明您的JAR /META-INF/faces-config.xml初始化:

<ordering>
    <after>
        <name>primefaces</name>
    </after>
</ordering>

或者,将CDNResourceHandler声明移至webapp&#39; /WEB-INF/faces-config.xml