我面临着一个奇怪的问题,JSF,primefaces 5.2,glassfish 4,CDI ViewScoped命名bean。我已经搜索了论坛,但大多数人都遇到了ajax无法正常工作,而这里的Command按钮actionListener与process =" @ form"但是用ajax =" false"它没有,而只是发生整页刷新。我是什么 了解JSF的默认行为是process =" @ form"但在这里我必须明确定义它,没有它,ajax不起作用。我已经双重检查,层次结构中没有嵌套表单。我的开发环境可能有问题,或者我做了一件非常糟糕的事情。这是我的jsf页面
span
以下是托管bean的一些行
<h:panelGroup id="selectedtestpanel3">
<h:form id="SelectedTests3" >
<p:dataTable id="selectedTestDataTable3" value="#{aTestRegController.testprofilelist}" var="seltestprofile"
rowKey="#{aTestRegController.selectedToString(seltestprofile)}" tableStyle="width:auto" resizableColumns="true"
selectionMode="single" selection="#{aTestRegController.selected}" style="vertical-align:top;"
>
<p:ajax event="rowSelect" listener="#{aTestRegController.testprofilePull(aTestRegController.selected)}"
update="patientRegWizard:SelectedTests3, patientRegWizard:displayprices"/>
<p:column headerText="Test/Profile Name" width="10">
<h:outputText value="#{aTestRegController.selectedTestProfileName(seltestprofile)}"/>
</p:column>
<p:column headerText="Price" width="10">
<h:outputText value="#{aTestRegController.selectedTestProfilePrice(seltestprofile)}"/>
</p:column>
<p:column headerText="Container" width="10">
<h:outputText value="#{aTestRegController.selectedTestProfileContainer(seltestprofile)}"/>
</p:column>
</p:dataTable>
<p:commandButton id="saveReg" icon="ui-icon-plus" value="Save Test Registration01"
actionListener="#{aTestRegController.createVoucher()}"
disabled="#{empty aTestRegController.testprofilelist}"
ajax="false"
/>
</h:form>
</h:panelGroup>