我很少有视图会通过ajax
. 下面是我的main.xhtml
<h:panelGroup id="page">
<h:form>
<h:panelGroup
rendered="#{myCtrl.selectedPage == 'home'}">
<ui:include src="/home.xhtml" />
</h:panelGroup>
</h:form>
<h:form>
<h:panelGroup
rendered="#{myCtrl.selectedPage == 'bcn'}">
<ui:include src="/reports.xhtml" id="reportPage" />
</h:panelGroup>
</h:form>
<h:form id="remitid">
<h:panelGroup
rendered="#{myCtrl.selectedPage == 'btc'}">
<ui:include src="/btc.xhtml" id="btcPage" />
</h:panelGroup>
</h:form>
</h:panelGroup>
因此,基于commandLink
点击,这些视图将被呈现。
免责声明 - 早些时候,这是richfaces
被转移到 primefaces 的项目,因此a4j:support
我们正在使用p:ajax
在reports.xhtml
我有一些领域,我有一些p:ajax
事件onchange
。
<ui:composition lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<div>
<p:inputText styleClass="datepicker" id="fromDate"
value="#{repBean.fromDate}">
<p:ajax event="change" update="fromDate"
listener="#{repBean.checkForValues}"></p:ajax>
</p:inputText>
</div>
<div>
<p:inputText styleClass="datepicker" id="toDate"
value="#{repBean.toDate}">
<p:ajax event="change" update="toDate"
listener="#{repBean.checkForValues}"></p:ajax>
</p:inputText>
</div>
</ui:composition>
每当change event
发生时,它都会刷新视图 [no reload] 并呈现初始屏幕。我也尝试过添加process="@this"
/process="@form"
和partialSubmit="true"
top:ajax
但这并没有太大帮助。根据我在调试时的观察,这根本不是 bean 方法。
这里到底发生了什么?为什么没有ajax
按预期工作?
如果我必须添加与问题相关的更多详细信息,请告诉我。