0

だから、私は基本的にチームを作るフォームを持っています

<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>

これで、リストからチーム名、説明、プロジェクトが取得されます。次に、複数の行を選択するオプションを備えたデータテーブルを持つダイアログボックスを開くボタンと、リストを送信して変数に保存する送信ボタンをクリックすると、モーダルボックスの背後にあるフォームをクリックして、データ全体を一度に。

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.println(selectedUsers[0].getId());NULLポインタ例外をスローします。

check()の会話では、基本的にconversation.begin()

4

1 に答える 1

0

のリスト値を取得します@postconstruct

于 2015-03-20T11:54:27.547 に答える