我的观点很少,会通过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
项目已被移至主要版面,因此我们使用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
发生时,它会刷新视图[无重新加载]并呈现初始屏幕。我也尝试将process="@this"
/ process="@form"
和partialSubmit="true"
添加到p:ajax
,但这并没有多大帮助。根据我在调试时的观察,这根本不是命中bean方法。
这里到底发生了什么?为什么ajax
没有按预期工作?
如果我要添加与该问题相关的详细信息,请与我们联系。