如何在版本化资源中使用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
答案 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
。