<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jstl/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"> <f:loadBundle basename="resources" var="msg" /> <h:form id="listForm"> <rich:dataTable value="#{itemBean.items}" var="item" id="itemTable"> <rich:column> <f:facet name="header"> <h:outputText value="ID" /> </f:facet> <h:outputText value="#{item.id}" binding="#{itemBean.selectedItemId}" /> </rich:column> <rich:column> <f:facet name="header"> <h:outputText value="#Name" /> </f:facet> <h:outputText value="#{item.name}" /> </rich:column> <rich:column width="350"> <f:facet name="header"> <h:outputText value="Action" /> </f:facet> <h:commandButton action="#{itemBean.doSomething}" value="w/o confirm" /> <a4j:commandButton value="confirm" onclick="#{rich:component('confirmAction')}.show();return false" /> <a4j:jsFunction name="doSomething" action="#{itemBean.doSomething}" reRender="itemTable" /> </rich:column> </rich:dataTable> </h:form> <rich:modalPanel id="confirmAction"> <f:facet name="header"> <h:outputText value="Confirm something" /> </f:facet> <h:panelGrid> <h:panelGrid columns="2"> <h:outputText value="Really do something?" /> </h:panelGrid> <h:panelGroup> <input type="button" value="OK" onclick="#{rich:component('confirmAction')}.hide();doSomething();return false" /> <input type="button" value="Cancel" onclick="#{rich:component('confirmAction')}.hide();return false" /> </h:panelGroup> </h:panelGrid> </rich:modalPanel> </html>