0

我正在开发一个 Java Servlet Web 应用程序,但页面上出现错误。我有这个commandButton

 <p:commandButton update="numbersEventFeedsForm" oncomplete="numbersEventFeedsDialog.show()"
                  icon="ui-icon ui-icon-search" title="view increments" style="height:20px;">
      <f:setPropertyActionListener value="#{numbersEvent}" target="#{searchBean.selectedNumbersEvent}"/>
 </p:commandButton>

我已经宣布了我的表格:

<h:form id="numbersEventFeedsForm">
    <p:dialog header="Feeds" widgetVar="numbersEventFeedsDialog" resizable="false" width="1000"
          styleClass="dialog">
         <!-- Etc -->

    </p:dialog>
</h:form>

但我收到以下错误:

 Sep 13, 2013 4:32:33 PM  com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback visit
 SEVERE: javax.faces.FacesException: Cannot find component with identifier "numbersEventFeedsForm" in view.

我很困惑为什么会发生错误。我已经阅读了其他问题,以确保我在update属性前面加上id<form>,但我没有那个属性,所以我有点卡在这一点上!

4

1 回答 1

0

@克里斯托弗。

首先,您的表单“numbersEventFeedsForm”应该保留在 p:dialog 中。

如果您在页面的整页中使用“p:layout”,您还需要在 p:dialog 中定义属性“appendTo="@(body)”,使其成为正文的直接子级标签。如果不成功,您的对话框可能不会出现。

然后,当尝试在对话框中更新表单时,您应该使用 ":numbersEventFeedsForm" 来更新表单,除非 commandButton 放置在引用的“表单”内,在这种情况下您不需要“:”前缀。

尝试进行此调整,看看是否有效..

于 2014-08-22T21:14:21.183 回答