表格内部手风琴小组在提交时省略了字段

时间:2015-08-17 09:34:56

标签: java-ee primefaces

您正在尝试在手风琴面板标签中提交表单,如下所示:

 <p:tab title="SMS Configuration" >

                     <h:form id="smsFRM">
                         <p:messages closable="true" id="smsMessage"/>
                         <p:commandButton id="smsConfig" style="color:green;" update="smsFRM"  process="@form"  actionListener="#{setupController.updateSMSConfiguration()}" value="Save Configuration"/>
                         <br/><br/>
                          <p:blockUI trigger="smsConfig" block="smsFRM">
                             <p:graphicImage value="images/ajax-loader.gif"/> 

                         </p:blockUI>



                                 <h:panelGrid cellpadding="10" cellspacing="7" columns="2">

                                     <h:outputLabel for="userName" value="User Name"/>
                                     <h:inputText required="true" requiredMessage="Please enter Gateway UserName" value="#{setupController.dbSetup.gatewayUserName}" id="userName" />
                                     <h:outputLabel for="apiKey" value="Secret Key"/>
                                     <h:inputSecret  required="true" requiredMessage="Please enter secret key" size="55" value="#{setupController.dbSetup.gatewayApiKey}"  id="apiKey" />

                                 </h:panelGrid>


                                  <h:panelGrid cellpadding="10" cellspacing="7" columns="2">
                                     <h:outputLabel for="enableAuditSMS" value="Enable Night Audit SMS"/>
                                     <p:selectBooleanCheckbox  id="enableAuditSMS" value="#{setupController.dbSetup.enableSMS}" />
                                     <h:outputLabel for="enableCheckoutSMS" value="Enable Checkout SMS"/>
                                     <p:selectBooleanCheckbox  id="enableCheckoutSMS" value="#{setupController.dbSetup.enableCheckoutSMS}" />

                                 </h:panelGrid>


                                  <h:panelGrid cellpadding="10" cellspacing="7" columns="2">
                                     <h:outputLabel for="checkoutSMS" value="Checkout SMS"/>
                                     <h:inputTextarea  id="checkoutSMS" value="#{setupController.dbSetup.checkoutSMS}"  cols="40">

                                     </h:inputTextarea>
                                 </h:panelGrid>




                         <br/>




                     </h:form>
                 </p:tab>

问题:只有最后一个字段<p:inputTextArea/>值被提交给辅助bean。

这是我点击命令按钮后调用的支持bean方法;

public void updateSMSConfiguration(){
        System.out.println("Enable sms --> " + dbSetup.isEnableSMS() + "Enable Checkout SMS ->" + dbSetup.isEnableCheckoutSMS());
        System.out.println("Checkout sms --> " + dbSetup.getCheckoutSMS());
         ctx = FacesContext.getCurrentInstance();
           rtx = RequestContext.getCurrentInstance();
           try{
               setupFacade.edit(dbSetup);
               ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "SMS configuration Updated.", ""));
            // roomsFacade.setHouseKeepingTime();
               rtx.update("adminGrowl");
           }
           catch(Exception ex){
                ctx.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "SMS configuration failed", ""));
               ex.printStackTrace();;
           }
            rtx.update("adminGrowl");
    }

手风琴面板本身并未嵌套在表单中。所有其他选项卡都可以。我使用的是primefaces 4.0版和glassfish 3.1.2。我怎么解决这个问题?谢谢。

0 个答案:

没有答案
相关问题