Tiles support
For better struts/tiles support, myfaces has an integrated JspTilesViewHandler (since release 1.0.6 bate). The main advantage of the ViewHandler is, that tiles-definitions can be sourced out into xml files (up to now using tiles and myfaces you had to definie the layout within jsp-pages).
Have a look at the tiles-webapp example.
Steps to implement a myfaces-tiles application:
1) configure the JspTilesViewHandler in your faces-config:
<application>
???<view-handler>net.sourceforge.myfaces.application.jsp.JspTilesViewHandlerImpl</view-handler>
</application>
2) add the following lines to your web.xml
<context-param>
???<param-name>tiles-definitions</param-name>
???<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>
3) define your layout in a tiles-definition file (sample from the tiles-webapp).
When rendering the view, the JspTilesViewHandlerImpl will take the given viewId and compute a tileId by
- substituting any extension by ".tiles"
- appending ".tiles" if path-mapping is used
(eg. for viewId = /page1.jsp the lookup would be /page1.tiles)
By the way, the JspTilesViewHandlerImpl is part of the myfaces-components. So someone could use it with Sun's RI too.
==================================================================
<!DOCTYPE tiles-definitions PUBLIC
?"-//Apache?Software?Foundation//DTD?Tiles?Configuration//EN"
?"http://jakarta.apache.org/struts/dtds/tiles-config.dtd">
<tiles-definitions>
???<definition?name="layout.example"?path="/template/template.jsp"?>
???????<put?name="header"?value="/common/header.jsp"?/>
???????<put?name="menu"?value="/common/navigation.jsp"?/>
???</definition>
???<definition?name="/page1.tiles"?extends="layout.example"?>
???????<put?name="body"?value="/page1.jsp"?/>
???</definition>
???<definition?name="/page2.tiles"?extends="layout.example"?>
???????<put?name="body"?value="/page2.jsp"?/>
???</definition>
</tiles-definitions>
http://www.marinschek.com/myfaces/tiki/tiki-index.php?page=Features