Thursday, February 08, 2007

JSF: Binding dataTable from managed bean

This is a very easy method to retrieve row data of the data table in jsp page, from managed bean.
<h:dataTable var="item" value="#{MyBean.items}"
binding="#{MyBean.dataTable}" >
<h:outputText styleClass="output" value="#{item.productName}"/>

<h:commandButton value="remove" action="#{MyBean.remove}" />
public class MyBean {
   private ArrayList items = new ArrayList();
   private HtmlDataTable dataTable;

   public ArrayList getItems() {
      return items;

   public void setItems(List items) {
      this.items = new ArrayList(items);

   public void remove(){
      ItemBean item = (ItemBean) getDataTable().getRowData();

   public HtmlDataTable getDataTable() {
      return dataTable;

   public void setDataTable(HtmlDataTable dataTable){
      this.dataTable = dataTable;

here, when user clicks the remove button, the related item is removed
from the data table.
Related Posts with Thumbnails