2013-09-13 2 views
0

Я работаю над веб-приложением Java Servlet, и я застрял с ошибкой на странице. У меня это commandButton:Не удается найти компонент в Java-лицах

<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>, но у меня нет этого атрибута, поэтому я как бы застрял на этом месте!

+0

возможно дубликат [Как повторно. в системе JSF ajax? Не удается найти компонент с идентификатором «foo» в поле зрения] (http://stackoverflow.com/questions/8634156/how-to-reference-components-in-jsf-ajax-cannot-find-component-with-identifier) – perissf

ответ

0

@ christopher.

Во-первых, ваша форма «numbersEventFeedsForm» должна оставаться внутри диалога p:.

Если вы работаете с «p: layout» на странице на своей странице, вам также необходимо определить свойство «appendTo =» @ (body) »в диалоговом окне p:, чтобы сделать его прямым Если вы не сделаете это, вы, вероятно, не увидите диалогового окна.

Затем, когда вы пытаетесь обновить форму в диалоговом окне, вы должны использовать «: numbersEventFeedsForm», чтобы обновить форму, если только commandButton не является помещенный внутри ссылочной «формы», в этом случае вам не нужно «:» префикс

Попробуйте сделать эту настройку и посмотреть, если работает ..

Смежные вопросы