Jsf 为什么对话范围不存储变量值并将索引抛出界限
所以,我有一个基本上组成一个团队的表格Jsf 为什么对话范围不存储变量值并将索引抛出界限,jsf,indexoutofboundsexception,conversation-scope,Jsf,Indexoutofboundsexception,Conversation Scope,所以,我有一个基本上组成一个团队的表格 <h:form id="AddTeam"> <p:growl id="growl" showDetail="true"></p:growl> <table> <tr><td><p:outputLabel for="TeamName" value="Enter New Team Name"></p:outputLabel></td><td
<h:form id="AddTeam">
<p:growl id="growl" showDetail="true"></p:growl>
<table>
<tr><td><p:outputLabel for="TeamName" value="Enter New Team Name"></p:outputLabel></td><td><p:inputText style="width:100%" id="TeamName" required="true" value="#{teamMaintainanceController.teamName}"></p:inputText></td></tr>
<tr><td><p:outputLabel for="TeamDesc" value="Enter New Team's Description"></p:outputLabel></td><td><p:inputText style="width:100%" id="TeamDesc" required="true" value="#{teamMaintainanceController.teamDesc}"></p:inputText></td></tr>
<tr><td><p:outputLabel for="TeamProj" value="Assign a preexisting project"></p:outputLabel></td><td><p:selectOneMenu style="width:100%" id="TeamProj" value="#{teamMaintainanceController.teamProject}">
<f:selectItem style="width:100%" itemLabel="Select One" itemValue="" />
<f:selectItems style="width:100%" value="#{projectMaintainanceController.allProjects}"/>
</p:selectOneMenu></td></tr>
<tr><td><p:outputLabel for="teamMemb" value="Select Team Members"></p:outputLabel></td><td><!-- <p:selectCheckboxMenu id="teamMemb" value="#{teamMaintainanceController.teamMemb}">
<f:selectItems value="#{employeeMaintainanceController.possibleManagerList}"></f:selectItems>
</p:selectCheckboxMenu> --><p:button value="Select Team Members" id="teamMemb" onclick="teammembers.show();return false;"></p:button></td></tr>
<tr><td><p:commandButton id="applyBtn" value="Add" ajax="true" actionListener="#{teamMaintainanceController.addTeam}" update=":AddTeam:growl"/></td></tr>
</table>
</h:form></center>
<p:dialog header="Select Team Members" widgetVar="teammembers" modal="true">
<h:form>
<p:dataTable var="user" rowKey="#{user.id}" value="#{employeeMaintainanceController.userList_ALL}" selection="#{teamMaintainanceController.selectedUsers}" selectionMode="multiple">
<p:column headerText="id">
<h:outputText value="#{user.id}"></h:outputText>
</p:column>
<p:column headerText="First Name">
<h:outputText value="#{user.firstName}"></h:outputText>
</p:column>
<p:column headerText="Last Name">
<h:outputText value="#{user.lastName}"></h:outputText>
</p:column>
</p:dataTable>
<p:commandButton actionListener="#{teamMaintainanceController.check}" ajax="true"/>
</h:form>
</p:dialog>
现在,它从列表中获取团队名称、描述和项目。然后,我们应该点击一个按钮,打开一个对话框,其中有一个datatable和多行选择选项,还有一个submit按钮,该按钮将提交列表并将其保存在变量中,然后点击模式框后面的表单,一次完成整个数据
private List<UserDto> userList_ALL;
private UserDto selectedUsers[];
public UserDto[] getSelectedUsers() {
return selectedUsers;
}
public void setSelectedUsers(UserDto[] selectedUsers) {
System.out.println(selectedUsers[0]);
this.selectedUsers = selectedUsers;
}
public List<UserDto> getUserList_ALL() throws IOException{
return userService.getUserList();
}
public void setUserList_ALL(List<UserDto> userList_ALL) {
this.userList_ALL = userList_ALL;
}
在addTeam方法中,我基本上执行System.out.printlnselectedUsers[0].getId;它引发空指针异常
在我的检查中,我基本上是使用conversation启动对话。begin检索@postconstruct中的列表值