p:ajax刷新整个页面 - JSF - primefaces

时间:2017-04-08 04:47:46

标签: java jsf primefaces ajax-update

我的观点很少,会通过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:ajaxreports.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没有按预期工作?

如果我要添加与该问题相关的详细信息,请与我们联系。

0 个答案:

没有答案