commandbutton的primefaces中的Ajax调用

commandbutton的primefaces中的Ajax调用,ajax,primefaces,Ajax,Primefaces,<p:column id="column2" > <f:facet name="header"> <h:outputText value="Parameter Description" ></h:outputText> </f:facet> <h:outputText value="#{param1.parameter}"/> </p:column> <

    <p:column id="column2"  >
    <f:facet name="header">
        <h:outputText value="Parameter Description" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameter}"/>  

</p:column>
<p:column id="column4" >
    <f:facet name="header">
        <h:outputText style="width:30px;margin-left:20px" value="Unit" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterUnit}"></h:outputText >
</p:column>
 <p:column id="column5" >
    <f:facet name="header">
        <h:outputText value="Value Range" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterValuerange}"></h:outputText >
</p:column>
<p:column id="column3" >
    <f:facet name="header">
        <h:outputText style="margin-left:100px;width:70px;" value="Value" ></h:outputText>
    </f:facet>
        <h:inputText id="valuefield" value="#{param1.parameterValue}" onkeyup="return validateParameterInput(event,this,'#{param1.parameterValuerange}')">
        <f:validateRequired />
        </h:inputText >
</p:column>

    </p:dataTable>
    </div>
  <div style="width: 1000px;">

  <p:commandButton styleClass="btn" id="actbtn"  action="#{ParameterMB.loadParameters()}" style="margin-top:10px;margin-left:50px;" onclick="return myFunction()" value="Apply">

            <f:ajax execute="table" render="table" />

        </p:commandButton>


当我试图在点击apply按钮时加载datatable时,它并没有发出ajax请求……有人能解释一下我做错了什么吗……提前感谢您在p commandbutton中使用f:ajax—一般来说,它是不兼容的。
    <p:column id="column2"  >
    <f:facet name="header">
        <h:outputText value="Parameter Description" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameter}"/>  

</p:column>
<p:column id="column4" >
    <f:facet name="header">
        <h:outputText style="width:30px;margin-left:20px" value="Unit" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterUnit}"></h:outputText >
</p:column>
 <p:column id="column5" >
    <f:facet name="header">
        <h:outputText value="Value Range" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterValuerange}"></h:outputText >
</p:column>
<p:column id="column3" >
    <f:facet name="header">
        <h:outputText style="margin-left:100px;width:70px;" value="Value" ></h:outputText>
    </f:facet>
        <h:inputText id="valuefield" value="#{param1.parameterValue}" onkeyup="return validateParameterInput(event,this,'#{param1.parameterValuerange}')">
        <f:validateRequired />
        </h:inputText >
</p:column>

    </p:dataTable>
    </div>
  <div style="width: 1000px;">

  <p:commandButton styleClass="btn" id="actbtn"  action="#{ParameterMB.loadParameters()}" style="margin-top:10px;margin-left:50px;" onclick="return myFunction()" value="Apply">

            <f:ajax execute="table" render="table" />

        </p:commandButton>
换成

    <p:column id="column2"  >
    <f:facet name="header">
        <h:outputText value="Parameter Description" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameter}"/>  

</p:column>
<p:column id="column4" >
    <f:facet name="header">
        <h:outputText style="width:30px;margin-left:20px" value="Unit" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterUnit}"></h:outputText >
</p:column>
 <p:column id="column5" >
    <f:facet name="header">
        <h:outputText value="Value Range" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterValuerange}"></h:outputText >
</p:column>
<p:column id="column3" >
    <f:facet name="header">
        <h:outputText style="margin-left:100px;width:70px;" value="Value" ></h:outputText>
    </f:facet>
        <h:inputText id="valuefield" value="#{param1.parameterValue}" onkeyup="return validateParameterInput(event,this,'#{param1.parameterValuerange}')">
        <f:validateRequired />
        </h:inputText >
</p:column>

    </p:dataTable>
    </div>
  <div style="width: 1000px;">

  <p:commandButton styleClass="btn" id="actbtn"  action="#{ParameterMB.loadParameters()}" style="margin-top:10px;margin-left:50px;" onclick="return myFunction()" value="Apply">

            <f:ajax execute="table" render="table" />

        </p:commandButton>
<p:ajax process="table" update="table" />

将您的操作也更改为actionListener,并删除方法调用上的()。我假设您希望保持在相同的页面上,因为p:commandbutton上没有ajax=“false”

    <p:column id="column2"  >
    <f:facet name="header">
        <h:outputText value="Parameter Description" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameter}"/>  

</p:column>
<p:column id="column4" >
    <f:facet name="header">
        <h:outputText style="width:30px;margin-left:20px" value="Unit" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterUnit}"></h:outputText >
</p:column>
 <p:column id="column5" >
    <f:facet name="header">
        <h:outputText value="Value Range" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterValuerange}"></h:outputText >
</p:column>
<p:column id="column3" >
    <f:facet name="header">
        <h:outputText style="margin-left:100px;width:70px;" value="Value" ></h:outputText>
    </f:facet>
        <h:inputText id="valuefield" value="#{param1.parameterValue}" onkeyup="return validateParameterInput(event,this,'#{param1.parameterValuerange}')">
        <f:validateRequired />
        </h:inputText >
</p:column>

    </p:dataTable>
    </div>
  <div style="width: 1000px;">

  <p:commandButton styleClass="btn" id="actbtn"  action="#{ParameterMB.loadParameters()}" style="margin-top:10px;margin-left:50px;" onclick="return myFunction()" value="Apply">

            <f:ajax execute="table" render="table" />

        </p:commandButton>
做什么:return myFunction()做什么?

myFunction()用于确认对话框……我已经尝试了更改,但ajax调用仍未实现
    <p:column id="column2"  >
    <f:facet name="header">
        <h:outputText value="Parameter Description" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameter}"/>  

</p:column>
<p:column id="column4" >
    <f:facet name="header">
        <h:outputText style="width:30px;margin-left:20px" value="Unit" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterUnit}"></h:outputText >
</p:column>
 <p:column id="column5" >
    <f:facet name="header">
        <h:outputText value="Value Range" ></h:outputText>
    </f:facet>
        <h:outputText value="#{param1.parameterValuerange}"></h:outputText >
</p:column>
<p:column id="column3" >
    <f:facet name="header">
        <h:outputText style="margin-left:100px;width:70px;" value="Value" ></h:outputText>
    </f:facet>
        <h:inputText id="valuefield" value="#{param1.parameterValue}" onkeyup="return validateParameterInput(event,this,'#{param1.parameterValuerange}')">
        <f:validateRequired />
        </h:inputText >
</p:column>

    </p:dataTable>
    </div>
  <div style="width: 1000px;">

  <p:commandButton styleClass="btn" id="actbtn"  action="#{ParameterMB.loadParameters()}" style="margin-top:10px;margin-left:50px;" onclick="return myFunction()" value="Apply">

            <f:ajax execute="table" render="table" />

        </p:commandButton>