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
Next the ViewHanlder looks up in the tile-definitions for the corresponding definition.
(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