[ http://issues.apache.org/jira/browse/MYFACES-431?page=all ]
     
Mathias Broekelmann closed MYFACES-431:
---------------------------------------

    Fix Version: Nightly Build
     Resolution: Invalid

I close this issue since it is related to an old implementation of UIData 
(1.0.9).
We can reopen this issue if the problem still exists with the current nightly.

> NullPointerException when binding HtmlDataTable to backing bean
> ---------------------------------------------------------------
>
>          Key: MYFACES-431
>          URL: http://issues.apache.org/jira/browse/MYFACES-431
>      Project: MyFaces
>         Type: Bug
>   Components: Tomahawk
>     Versions: 1.0.9 beta
>  Environment: Windows XP, Jboss 3.2.6, Internet Explorer
>     Reporter: Pawe? Ko?oszko
>     Assignee: Mathias Broekelmann
>     Priority: Critical
>      Fix For: Nightly Build

>
> I have page.jsp with datatable and a button:
> <x:dataTable id="listarodzajepism" value="#{listRodzajePism.rodzajePism}"
> var="rodzajPisma" border="0"
>                  styleClass="standardTable"
>  headerClass="standardTable_SortHeader"
>  rowClasses="standardTable_Row1,standardTable_Row2"
>  footerClass="standardTable_Footer"
>  sortColumn="#{listRodzajePism.sort}"
>  sortAscending="#{listRodzajePism.ascending}"
>                  preserveDataModel="true"
>                preserveSort="true"
>                  rows="24"
>  binding="#{listRodzajePism.jsfDataTable}">
> ... column, column, column ...
> </x:dataTable>
>  <h:commandButton id="cb" value="NewPage" action="newpage"/>
> Action "newpage" of commandbutton opens page2.jsp with only one button:
> <h:commandButton id="button"
>                  value="Cancel"
>  action="back"
>  immediate="true"/>
>  Action "back" goes back to page.jsp. And here the problem occurs becuase I 
> receive an error:
>  javax.faces.FacesException: Could not get property rows of component 
>  rodzajepismview:listarodzajepism Caused by:
> java.lang.NullPointerException
>         at
>  
> org.apache.myfaces.component.html.ext.HtmlDataTable.getRows(HtmlDataTable.java:547)
>  When I open page.jsp everything is OK, but action page.jsp -> page2.jsp -> 
> page.jsp cause an error.
> In my backing bean I have:
>          private HtmlDataTable jsfDataTable;
>      public HtmlDataTable getJsfDataTable() {
>          return jsfDataTable;
>      }
>      public void setJsfDataTable(HtmlDataTable jsfDataTable) {
>          this.jsfDataTable = jsfDataTable;
>      }
> Backing bean is session scoped. When 
> binding="#{listRodzajePism.jsfDataTable}" is removed from x:datatable tag, 
> everyhing works just fine.
> I spent some time debugging and here are the results:
> Exception is thrown in getRows() method of 
> org.apache.myfaces.component.html.ext.HtmlDataTable when command 
> return ((_SerializableDataModel)_dataModel).getRows();
> is invoked. Cause of exception: _dataModel is null. This line is invoked only 
> when _isDataModelRestored = true. I checked that when I open page2.jsp 
> _dataModel is created and _isDataModelRestored is set to true. But when I 
> return to page1.jsp from page2.jsp, setValueBinding method is invoked and 
> _dataModel is set to null. But _isDataModelRestored is still true.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to