0

私のページには次のJSFコードがあります

<h:panelGroup id="rSelectionPanel" rendered="#{bean.admin}">
                <h4 class="header-line">Admin Panel</h4>
                <h:panelGroup rendered="#{bean.selectionMode=='RS'}">
                <h:form styleClass="registerForm">

                <h:outputLabel value="End Line1?" rendered="#{not bean.endLine2}"></h:outputLabel> 
                                    <h:selectBooleanCheckbox id="endLine1" value="#{bean.endLine1}" rendered="#{not bean.endLine2}">
                                                    <p:ajax event="change" update=":rSelectionPanel"></p:ajax>
                                    </h:selectBooleanCheckbox>

                                    <h:outputLabel value="End Line2?" rendered="#{not bean.endLine1}"/> 
                                    <h:selectBooleanCheckbox id="endLine2" value="#{bean.endLine2}" rendered="#{not bean.endLine1}">
                                        <p:ajax event="change" update=":rSelectionPanel"></p:ajax>
                                    </h:selectBooleanCheckbox>

                                    <h:inputTextarea id="newLine2Name" styleClass="form-poshytip" title="Line2 Name" rows="1" maxlength="50"       
                                    value="#{bean.newLine2Name}" validatorMessage="Too many characters" rendered="#{bean.endLine2}">
                                        <f:passThroughAttribute name="placeholder" value="Line2 Name" />
                                        <f:validateLength maximum="50" />
                                    </h:inputTextarea>

                                    <h:commandButton styleClass="submit" value="Select Line" action="#{bean.confirmLineBy}">

                                    </h:commandButton>
                </h:form>
                </h:panelGroup>
                </h:panelGroup>

次のバッキング Bean Java コードを使用

public void confirmLineBy(){
    getLog().debug("Entering confirmLineBy....");
    ConfirmLineByRequest request = new ConfirmLineByRequest();
    request.setPage(getPage());
    request.setEndLine1(endLine1);
    if(isEndLine2())request.setNewLine2Name(newLine2Name);
    request.setEndLine2(isEndLine2());
    ConfirmLineByResponse response = LineService.confirmLineBy(request, null);
    nextUnconfirmedLines.removeAll(nextUnconfirmedLines);
    setConfirmedLines(response.getConfirmedLines());
    setLine2s();
    setAddedLine(false);
    getLog().debug("CONFIRMED LINES SIZE: "+confirmedLines.size());
    getLog().debug("Exiting confirmLineBy....");
}

どちらのボックスもチェックされていない状態で commandButton をクリックすると、正常に送信されます。ただし、いずれかのチェックボックスをオンにすると、bean.confirmLineBy() も呼び出されません。

何か案は?

4

1 に答える 1

0

使用から に変更。今ソートされました。

于 2013-09-27T20:49:45.840 に答える