1

我很少有视图会通过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按预期工作?

如果我必须添加与问题相关的更多详细信息,请告诉我。

4

0 回答 0