[JSF Desktop] is a library to support JSF 2 (2.0, 2.1) with some basic features to extend JSF. !!!Configuration In the pom.xml use: {{{ <dependency> <groupId>com.intersult</groupId> <artifactId>jsf-desktop</artifactId> <version>1.1-SNAPSHOT</version> </dependency> <repository> <id>intersult-repository</id> <name>Intersult Repository</name> <url>http://repository.intersult.com/repository</url> </repository> }}} In the web.xml use: {{{ <context-param> <param-name>javax.faces.FACELETS_RESOURCE_RESOLVER</param-name> <param-value>com.intersult.jsf_desktop.util.ClassPathResourceResolver</param-value> </context-param> }}} Access via http://localhost/faces/resource/<test.xhtml> !!!Insert-Tag The Insert-Tag can insert UIComponent objects into the component tree. This is usefull when creating XHTML-Components with namespace http://java.sun.com/jsf/composite/... !!Example Imagin a component which evenly distributes Command-Buttons in a form. You'de like to create a component (luckily this is already included in [JSF Desktop]). The component should wrap each contained component in a SPAN-Tag with some padding. __Solution:__ You iterate through the children and write a span for each child. Into the span you insert the child itself. With normal JSF-Tags this is not possible, you need <i:insert> {{{ <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:cc="http://java.sun.com/jsf/composite" xmlns:p="http://primefaces.prime.com.tr/ui" xmlns:i="http://intersult.com/taglib" xmlns:dt="http://java.sun.com/jsf/composite/desktop" > <cc:interface> <cc:attribute name="align"/> </cc:interface> <cc:implementation> <div style="margin-top: 10px; text-align: #{empty cc.attrs.align ? 'center' : cc.attrs.align};"> <ui:repeat value="#{cc.children}" var="child"> <span style="margin-right: 5px;"> <i:insert component="#{child}"/> </span> </ui:repeat> </div> </cc:implementation> </html>}}}