I have the following jsf datatable which has a list of student courses, I want to get the selected row from that page so I have the following code for it but it keeps throwing null pointer exception can someone help with it?
here is my XHTML page:
<p:dataTable paginatorPosition="bottom" id="tblClasses" var="course"
value="#{mbStudent.lstStudentCourses()}" selectionMode="single"
selection="#{mbStudent.course}" rowKey="#{course.id}"
rowIndexVar="rowIndex" rows="6">
<p:ajax event="rowDblselect" update="@parent:frm" process="@this"
listener="#{mbStudent.getSelectedRow()}"/>
<p:column headerText="#" width="10%">
#{rowIndex+1}
</p:column>
<p:column headerText="Course">
<p:outputLabel value="#{course.course.fullName}"></p:outputLabel>
</p:column>
<p:column headerText="Time" width="30%">
<p:outputLabel value="#{course.course.courseNumber}"></p:outputLabel>
</p:column>
</p:dataTable>
And here is my managed bean:
public List<CourseExamBank> lstStudentCourses() {
GeneralFacade facade = new GeneralFacade();
return facade.lstStudentClasses(getStudent());
}
public void getSelectedRow() throws IOException{
CourseExamBank course = (CourseExamBank) dataTable.getRowData();
System.out.println(course);
}
public String onFlowProcess(FlowEvent event) throws IOException {
return event.getNewStep();
}
And here is the error I get:
WARNING: /pages/students/student_home.xhtml @19,49 listener="#{mbStudent.getSelectedRow()}": java.lang.NullPointerException javax.el.ELException: /pages/students/student_home.xhtml @19,49 listener="#{mbStudent.getSelectedRow()}": java.lang.NullPointerException at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111) at org.primefaces.behavior.ajax.AjaxBehaviorListenerImpl.processAjaxBehavior(AjaxBehaviorListenerImpl.java:54) at org.primefaces.event.SelectEvent.processListener(SelectEvent.java:49)