想要在Myfaces項(xiàng)目中使用Sitemesh, 結(jié)果發(fā)現(xiàn)Jsf的標(biāo)準(zhǔn)UI沒有問題,可使用了tomahawk的組件卻顯示不出來。是什么原因呢?
原來是因?yàn)閠omahawk使用了Filter(ExtensionsFilter)來實(shí)現(xiàn),Sitemesh也使用Filter來實(shí)現(xiàn)(太美麗了),這就存在一個(gè)誰先誰后的問題了。解決方法:
首先,把sitemesh的filter map放到最后。然后把tomahawkr的ExtensionsFilter改為如下:
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<url-pattern>*.faces</url-pattern>
</filter-mapping>
注重:/faces/myFacesExtensionResource/*在上面,對(duì)應(yīng)的也要修改myfaces的servlet-mapping,如下:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
*.jsf這一項(xiàng)是要加的(我實(shí)際上只使用*.faces),不然過不去的。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注