views:

818

answers:

1

I've started to upgrade an existing application written with JSF 1.1 and MyFaces Tomahawk 1.1 to JSF 2.0 to get facelets etc.

I've now run into the snag that apparently Tomahawk is not JSF 2.0 compatible as it expects the stand-alone version of Facelets instead of the built-in to JSF 2.0 with the following error:

org.apache.catalina.LifecycleException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! com.sun.facelets.tag.jsf.ComponentHandler

(it appears to be placed in javax.faces.view.facelets now).

I have looked around and there doesn't seem to be a JSF 2.0 facelet compatible version of Tomahawk. I only believe I need t:updateActionListener (inside t:dataTable) and the rowSpan facility of t:panelGroup. Is all this functionality available in JSF 2.0 directly, or must I locate a new library giving this?

Any suggestions?

+1  A: 

The t:updateActionListener is covered by the JSF 1.2 f:setPropertyActionListener.

For rowspans (and colspans) there's unfortunately still no functionality in the standard JSF implementation. However, since JSF 1.2 you're allowed to write down "plain vanilla" HTML in the view without any pains (no hassle with f:verbatim and so on). You can make use of the Facelets' ui:repeat to iterate "plain" over a collection. Since JSF 2.0 you can even create composite components (templatebased components). This must enable you to make use of the HTML rowspans/colspans.

BalusC
f:setPropertyActionListener appears to be exactly what I am looking for. I'll have a look at the composite components when I have converted fully to facelets. Thanks.
Thorbjørn Ravn Andersen
It appears that method arguments are available in JSF 2.0. http://weblogs.java.net/blog/cayhorstmann/archive/2009/07/say_sayonara_to_1.html Much nicer!
Thorbjørn Ravn Andersen