I found a strange behavior in JSF 2.2: When using the new jcp namespaces for ui:repeat it renders something like this:
<ul> <ui:repeat><li>a</li></ui:repeat> <ui:repeat><li>b</li></ui:repeat> <ui:repeat><li>c</li></ui:repeat> </ul>
To get rid of this I went back to the oldĀ java.sun.com/jsf urls in the whole project and everything was working as expected.
Here is how I was able to reproduce this with glassfish4:
XHTML:
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" template="/WEB-INF/templates/#{sessionController.template}/template.xhtml"> ... <ul> <ui:repeat value="#{sessionController.testString}" var="v"> <li>#{v}</li> </ui:repeat> </ul> ... </ui:composition>
Controller:
@SessionScoped @Named @PermitAll public class SessionController implements Serializable { ... public List<String> getTestString() { return Arrays.asList(new String[] {"a", "b", "c"}); } }
When I change the ui namespace to the old http://java.sun.com/jsf/facelets everything works as expected.