JSF更新表单

时间:2017-02-01 06:16:48

标签: forms jsf primefaces

我正在尝试在JSF中提交一些数据。问题是我有两个表单,我想触发更新的按钮在表单之外,在这里我放置我的代码,这样你就可以更好地理解我的意思了。因此,我无法向服务器提交任何数据。

<ui:define name="mainArea">
    <h:form id="form">
        <div class="row">
            <div class="col-md-5">
                <p:outputLabel for="rfqName" value="Name" />
                <br></br>
                <p:inputText id="rfqName" required="true" style="width:100%;"
                    value="#{data.data.rfqName}" maxlength="100">
                    <p:ajax event="change" update="@form"/>
                    </p:inputText>
            </div>
        </div>
        <div class="row">
            <div class="col-md-3">
                <p:outputLabel for="rfqVersion" value="Version" />
                <br></br>
                <p:inputText id="rfqVersion" required="true" style="width:60%;"
                    value="#{data.data.rfqVersion}" maxlength="20"></p:inputText>
            </div>
        </div>
    </h:form>

</ui:define>

<ui:define name="actionSection">
    <p:commandButton actionListener="#{logic.close}" value="Proceed" update=":form"
        styleClass="pull-right">

        </p:commandButton>

    <p:commandButton value="Save" styleClass="pull-right" />
</ui:define>

1 个答案:

答案 0 :(得分:0)

您可以使用primefaces RemoteCommand。这允许您从外面单击表单上的按钮。

<ui:define name="mainArea">
    <h:form id="form">
        <div class="row">
            <div class="col-md-5">
                <p:outputLabel for="rfqName" value="Name" />
                <br></br>
                <p:inputText id="rfqName" required="true" style="width:100%;"
                    value="#{data.data.rfqName}" maxlength="100">
                    <p:ajax event="change" update="@form" />
                </p:inputText>
            </div>
        </div>
        <div class="row">
            <div class="col-md-3">
                <p:outputLabel for="rfqVersion" value="Version" />
                <br></br>
                <p:inputText id="rfqVersion" required="true" style="width:60%;"
                    value="#{data.data.rfqVersion}" maxlength="20"></p:inputText>
            </div>
        </div>
        <p:remoteCommand name="remoteClose" actionListener="#{logic.close}"
            update=":form" styleClass="pull-right" />
        <p:remoteCommand name="remoteSave" value="Save"
            styleClass="pull-right" />
    </h:form>

</ui:define>

<ui:define name="actionSection">
    <p:commandButton type="button" onclick="remoteClose()" value="Proceed" />
    <p:commandButton type="button" onclick="remoteSave()" value="Save"
        styleClass="pull-right" />
</ui:define>