【问题标题】:PrimeFaces TreeTable not responding to form submitPrimeFaces TreeTable 没有响应表单提交
【发布时间】:2013-05-05 14:03:33
【问题描述】:

我正在尝试使用 primefaces Tree(和 TreeTable,这会更好,但结果是一样的)显示值

<h:form id="treeTableForm">
    <p:commandButton actionListener="#{aircraftTypeHandler.tableSubmit}"
        update="@form" />
    <p:tree id="perfoTree" value="#{aircraftTypeHandler.perfosNode}"
        var="perfo" animate="true" style="min-width:300px;">
        <p:treeNode id="treeNode">
            <h:inputText value="#{perfo.type}" />
            <p:spacer width="20" height="0" />
            <h:inputText value="#{perfo.altitude}" />
            <p:spacer width="20" height="0" />
            <h:inputText value="#{perfo.mass}" />
            <p:spacer width="20" height="0" />
            <h:inputText value="#{perfo.distance}" />
            <p:spacer width="20" height="0" />
        </p:treeNode>
    </p:tree>
</h:form>

按下命令按钮时,什么也没有发生。 移除组件时,正确调用了 backing bean 方法。

你知道为什么吗? 如何使用“树状”组件显示数据,同时在将数据发送回支持 bean 之前与数据进行交互?

谢谢

【问题讨论】:

  • 也许您可以尝试将按钮放在表单之外。
  • “什么都没有发生”是什么意思?没有发送 AJAX 请求?哪些故障符合您的预期?以对开发人员更友好的方式详细说明。
  • 顺便说一句,在PrimeFaces showcase 中可以找到大致相同的设置,它按预期工作。
  • 树(或子元素)可能导致验证/转换失败。检查浏览器的开发者控制台以检查警告或在页面上放置 &lt;h:messages/&gt; 组件以捕获错误
  • @kolossus :我在表单中放了一个

标签: jsf-2 primefaces treetable


【解决方案1】:

如 Ömer Faruk Almalı 所述

把按钮换成另一种形式就可以了。至于解释,我让你解释:)

<h:form>
    <p:commandButton id="singleBtn" value="Save" icon="ui-icon-save"
            update="@form :treeTableForm" process="@form :treeTableForm"
            actionListener="#{aircraftTypeHandler.tableSubmit}" />
</h:form>

<h:form id="treeTableForm">
        <p:treeTable id="perfosTreeTable"
            value="#{aircraftTypeHandler.perfosNode}" var="perfo"
            scrollable="true" scrollHeight="300">

            <f:facet name="header">
                <h:outputText value="Performances" />
            </f:facet>

            <p:column headerText="Perfo Type">
                <h:outputText value="#{perfo.type}" />
            </p:column>

            <p:column headerText="Altitude">
                <h:outputText value="#{perfo.altitude}" />
            </p:column>

            <p:column headerText="Mass">
                <h:outputText value="#{perfo.mass}" />
            </p:column>

            <p:column headerText="Distance">
                <p:inputText value="#{perfo.distance}"
                    rendered="#{perfo.distance != null}">
                    <p:ajax event="blur" listener="#{aircraftTypeHandler.tableSubmit}" />
                </p:inputText>
            </p:column>
        </p:treeTable>
</h:form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-15
    • 2017-11-28
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多