I have a single
selection table, when i select a row, this exception happens:
com.sun.faces.context.PartialViewContextImpl.processPartial javax.el.ELException: /Test.xhtml @18,79 selection="#{testBean.selectedBook}": Cannot convert [Ljava.lang.Object;@5b9b0639 of type class [Ljava.lang.Object; to class com.obs.model.Book
javax.el.ELException: /Test.xhtml @18,79 selection="#{testBean.selectedBook}": Cannot convert [Ljava.lang.Object;@5b9b0639 of type class [Ljava.lang.Object; to class com.obs.model.Book
Caused by: javax.el.ELException: Cannot convert [Ljava.lang.Object;@5b9b0639 of type class [Ljava.lang.Object; to class com.obs.model.Book
Here is my Books table:
<h:form>
<p:dataTable id="singleDT" var="item" value="#{testBean.booksList}" selectionMode="single"
selection="#{testBean.selectedBook}" rowKey="#{item[0]}">
<p:ajax event="rowSelect" listener="#{testBean.onRowSelect}"/>
<p:ajax event="rowUnselect" listener="#{testBean.onRowUnselect}"/>
<p:column headerText="Id">
<h:outputText value="#{item[0]}"/>
</p:column>
<p:column headerText="Title">
<h:outputText value="#{item[1]}"/>
</p:column>
<f:facet name="footer">
<p:commandButton process="singleDT" icon="ui-icon-search" value="View" action="#{testBean.showPlease}"/>
</f:facet>
</p:dataTable>
</h:form>
And this is testBean
:
private List<Book> booksList;
private Book selectedBook;
public Book getSelectedBook() {
return selectedBook;
}
public void setSelectedBook(Book selectedBook) {
this.selectedBook = selectedBook;
}
public void onRowSelect(SelectEvent event) {
System.out.println("row selected, " + event.getObject()); // displays [Ljava.lang.Object;@62699e1d
}
public void onRowUnselect(UnselectEvent event) {
System.out.println("row Unselected");
}
@Transactional
public List<Book> allBooks() {
// fill the list with hibernate
return booksList;
}
//getter/setters
I assigned the selected row to selectedBook
Error is cannot convert from type object
to Book
type.
selectedBook
variable type is Book
, but which variable is object
which causes this error?