<ui:composition xmlns=“www.w3.org/1999/xhtml” xmlns:f=“java.sun.com/jsf/core

xmlns:p="http://primefaces.org/ui" xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets" template="/template/main.xhtml">

<ui:define name="body">
        <h:form>
                <p:toolbar>
                        <p:toolbarGroup align="left">
                                <p:commandButton title="#{messages['button.new']}" icon="ui-icon-document" action="#{ {{ managed_bean }}.getNextView}"
                                        actionListener="#{ {{managed_bean}}.clear}" ajax="false" />

                                <p:commandButton title="#{messages['button.delete']}" icon="ui-icon-trash" onclick="confirmation.show()"
                                        type="button" immediate="true" ajax="false" />

                                <p:confirmDialog message="#{messages['label.confirm.delete']}" showEffect="bounce" hideEffect="explode"
                                        header="#{messages['label.dialog.alert']}!" severity="alert" widgetVar="confirmation">

                                        <h:commandButton value="#{messages['button.dialog.yes']}" action="#{ {{managed_bean}}.deleteSelection}"
                                                actionListener="#{ {{managed_bean}}.clear}" />
                                        <h:commandButton value="#{messages['button.dialog.no']}" onclick="confirmation.hide()" type="button" />
                                </p:confirmDialog>
                        </p:toolbarGroup>
                </p:toolbar>

                <p:dataTable id="list" var="bean" value="#{ {{managed_bean}}.resultList}">
                        <f:facet name="header">#{messages['{{class.lower_camel_case_name}}.list.table.title']}</f:facet>
                        <p:column style="width:5%;">
                                <h:selectBooleanCheckbox value="#{ {{managed_bean}}.selection[bean.id]}" />
                        </p:column>
                        <p:column style="width:5%;" sortBy="#{bean.id}">
                                <f:facet name="header">#{messages['{{class.lower_camel_case_name}}.label.id']}</f:facet>
                                <h:outputText value="#{bean.id}" />
                        </p:column>
                        {% for attribute in class.attributes %}
                        <p:column sortBy="#{bean.{{attribute.name}}}">
                                <f:facet name="header">#{messages['{{class.lower_camel_case_name}}.label.{{attribute.name}}']}</f:facet>
                                <h:commandLink action="#{ {{managed_bean}}.getNextView}" actionListener="#{ {{managed_bean}}.clear}">
                                        <h:outputText value="#{bean.{{attribute.name}}}" />
                                        <f:param name="id" value="#{bean.id}" />
                                </h:commandLink>
                        </p:column>
                        {% endfor %}
                </p:dataTable>
        </h:form>
</ui:define>

</ui:composition>