我在使用 PrimeFaces p:commandButton 时遇到问题。当我单击它发送 ajax 请求的按钮时,我可以在日志表中看到第一次单击时收到的请求。但是如果服务在 5 分钟内没有响应,它会发送另一个请求,这样我就可以在日志表中看到完全相同的请求。
我看不出有任何理由在我的代码中调用 ajax 请求。
这是代码。任何帮助将不胜感激:
<p:panel id="mainPanel" style="width:95%;height:90%;">
<p:outputPanel collapsed="true" closable="true" toggleable="true" id="msgPanel" style="margin-bottom:10px;">
<p:messages />
</p:outputPanel>
<p:outputPanel id="queryPanel">
<p:fieldset legend="#{cmIaResources['fieldset.queryForm']}" style="width:600px;height:100%;" rendered="#{cmIaQueryBean.renderQueryPanel}">
<h:form id="queryForm" prependId="false">
<p:outputPanel id="xxPanel">
<h:outputText value="#{cmIaResources['queryForm.label.xxText']}" id="name_label" style="width:150px;" />
<h:outputText value="#{cmIaQueryBean.xx}" id="xx" style="width:150px;" />
</p:outputPanel>
</div>
<p:spacer />
<p:outputPanel id="yyPanel">
<h:outputText value="#{cmIaResources['queryForm.label.yyText']}" id="yy_label" style="width:150px;" />
<p:inputText id="yyID" value="#{cmIaQueryBean.yyID}" maxlength="10" />
</p:outputPanel>
<p:outputPanel id="commanBtnPanel">
<p:commandButton id="queryButton" action="#{cmIaQueryBean.queryCustomerZZ}" value="#{cmIaResources['queryForm.label.queryBtn']}" update=":queryForm :msgPanel :queryResultsPanel :queryPanel" style="float:right" />
</p:outputPanel>
</h:form>
</p:fieldset>
</p:outputPanel>
<p:outputPanel id="queryResultsPanel" style="width:900px;">
<p:fieldset legend="Sorgu Sonuçları" rendered="#{cmIaQueryBean.renderResult}" style="width:880px;">
<h:form>
<h:panelGrid columns="2" style="width:610px;">
<h:outputText value="Arama Kriterleri:" style="width:150px;" />
<p:tree value="#{cmIaQueryBean.root}" var="node" id="tree" style="width:450px">
<p:treeNode id="treeNode">
<h:outputText value="#{node}" id="lblNode" />
</p:treeNode>
</p:tree>
</h:panelGrid>
</h:form>
</p:fieldset>
</p:outputPanel>