龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Jboss中Myfaces与Sitemesh的集成

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
想要在Myfaces项目中使用Sitemesh, 结果发现Jsf的标准UI没有问题,可使用了tomahawk的组件却显示不出来。是什么原因呢? 原来是因为tomahawk使用了Filter(ExtensionsFilter)来实现,Sitemesh也使用F

  想要在Myfaces项目中使用Sitemesh, 结果发现Jsf的标准UI没有问题,可使用了tomahawk的组件却显示不出来。是什么原因呢?  
  原来是因为tomahawk使用了Filter(ExtensionsFilter)来实现,Sitemesh也使用Filter来实现(太美丽了),这就存在一个谁先谁后的问题了。解决方法:
  首先,把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/*在上面,对应的也要修改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这一项是要加的(我实际上只使用*.faces),不然过不去的。
  


  
精彩图集

赞助商链接