« Glassfish - 3.1.x -... | Main | Eclipse Juno - Maven... »

JSF 2.0 and the xmlns:c

If you are working with JSF 2.0 there is a important change concerning the JSF core tags (<c:....>). These tags will not work if you are using the following namespace declaration:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jstl/core"
    xmlns:h="http://java.sun.com/jsf/html">

This works in JSF 1.2 but well, but did no longer work in JSF 2.0. The reason is that the namespace uri for the jstl/core has changed. Use the following namespace definition if you are working with jsf 2.0 

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"      xmlns:c="http://java.sun.com/jsp/jstl/core"     xmlns:h="http://java.sun.com/jsf/html">