Ajax每次都执行

时间:2016-07-25 21:40:18

标签: ajax jsf javabeans

我遇到 f:ajax

的问题

当我点击提交按钮时,Ajax重新加载所有页面,包括preRenderView(我的@PostConstruct方法)。实际上,我已经在我的getters方法中添加了 System.out.print ,并在点击提交按钮后再次调用它们。

我只想在不重新加载其他组件的情况下执行表单。

我已经尝试过 ui:重复,我也得到了同样的结果。

JSF

<html 
xmlns="http://www.w3.org/1999/xhtml" 
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core" >

<h:head>
</h:head>

<h:body>

    <f:metadata>
        <f:event listener="#{mainController.init()}" type="preRenderView" />
    </f:metadata>

    <h:panelGroup id="clients" >
        <c:forEach items="#{mainController.getClients()}" var="client" > 
            <h:panelGroup layout="block" id="#{client}" >
                #{client}
                <c:forEach items="#{mainController.getApplications(client)}" var="application" > 
                    <h:panelGroup layout="block" id="#{application}">
                        #{application}
                        <h:form id="form_#{application}" >
                            <h:commandButton value="Try" action="#{mainController.test()}" >
                                <f:ajax execute="@form" render="@none" /> 
                            </h:commandButton>
                        </h:form>
                    </h:panelGroup> 
                </c:forEach>
            </h:panelGroup>
        </c:forEach>
    </h:panelGroup>
</h:body>

0 个答案:

没有答案