
1) Add jm-jsf.jar to WEB-INF/lib

2) Add the following  to faces-config.xml

  <component>
    <component-type>org.javamine.jsf.List</component-type>
    <component-class>org.javamine.jsf.html.HtmlDataList</component-class>
  </component>

  <render-kit>
    <renderer>
      <component-family>javax.faces.Data</component-family>
      <renderer-type>org.javamine.jsf.List</renderer-type>
      <renderer-class>org.javamine.jsf.html.render.DataListRenderer</renderer-class>
    </renderer>
  </render-kit>

3) Add the following to JSPs

<jsp:root
  xmlns:jsp="http://java.sun.com/JSP/Page"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:jm="http://www.javamine.org/jsp/jsf/ext"
  version="2.0">

  ...

<jm:dataList value="#{}" <- nested f:selectItems will be ignored if set
           ordered="(true|false|#{})"
        groupClass="(literal|#{})"
           dynamic="(true|false|#{})"
               var="(literal)">

  <h:column>
    <!-- Components here will be rendered for each list item -->
    <!-- var named bean is available in request scope -->
  </h:column>

  <!-- var name bean is NOT in scope -->
  <!-- selectItem and selectItems can be used in any combination -->
  <f:selectItem itemValue="" itemLabel=""/>
  <f:selectItem itemValue="" itemLabel=""/>
  <f:selectItem itemValue="" itemLabel=""/>
  <f:selectItems value="#{}"/>
</jm:dataList>