我有一个手风琴面板,其中包含包含学生姓名的标签。我在其中一个选项卡上选择并选择编辑。我正在调用制表符更改侦听器并获取学生对象并尝试编辑它工作正常。
但我的问题是,当手风琴第一次加载时,即使我在选项卡上选择,然后点击编辑,我也不会得到学生对象。它给我空指针异常。因为Tab更改事件在第一次加载时不会被调用。我该如何解决这个问题?
private StudBean formBean;
public StudBean getFormBean() {
if(formBean==null){
formBean= new StudBean();
}
return formBean;
}
public void onTabChange(TabChangeEvent event) {
formBean = (StudBean) event.getData();
}
public String edit(){
formBean = testDelegate.getDetails(formBean.getName(),formBean.getId());
return "/ui/EditStudent?faces-redirect=true";
}
<p:commandButton process="@this" value="edit" action="#{testBean.edit}" >
<p:accordionPanel value="#{testBean.students}" var="stud">
<p:ajax event="tabChange" listener="#{testBean.onTabChange}" immediate="true"/>
<p:tab title="#{stud.name}">