2013-04-19 3 views
0

У меня есть составной компонент, который работает очень хорошо, когда используется один раз на странице, но не работает, если я использую его более одного раза. Скажем, компонент называется мой: поле:Компонентный компонент javax.faces.FacesException: Не удается найти компонент «inputID» в поле зрения

<composite:implementation> 
      <h:form id="myForm" prependId="false"> 
        <p:message for="inputID" display="text"/> 
        <p:inputText binding="#{myBean.valueBind}" id="inputID" value="#{myBean.value}" required="true" /> 
        <p:commandButton process="@form" update="@form" action="#myBean.action} value="Do something" ajax="true"/> 
      </h:form> 
    </composite:implementation> 

И я использую это так:

<my:field id="field1"/> 

Это работает отлично, но если я добавлю это ниже его:

<my:field id="field2"/> 

Я получаю следующее исключение javax.faces.FacesException: Cannot find component "inputID" in view.

Я не понимаю, что я делаю неправильно? Я попробовал добавить идентификатор формы, идентификатор компонента (field1), используя cc.attr.id. Я просто не знаю, что мне нужно делать.

Я использую mojarra 2.1.13, а также прямые 3.5. Любая помощь будет очень оценена.

спасибо.

EDIT: Я добавил атрибут binding=.... к моему p:inputText, так как это вызывает проблему, но я опустил ее в своем первоначальном сообщении.

+0

Код, опубликованный до сих пор, работает для меня, поэтому он либо неполный, либо вы не используете код, который, как вы думаете, работает. – BalusC

+0

Вы на 100% прав, мой пример здесь был проще и непроверен. В попытке переместить достаточно кода из того, который был с реальной проблемой, в этот пример, чтобы увидеть, когда он создает проблему, мне удалось обнаружить проблему. У меня есть атрибут 'binding' на' p: inputText'. Если я выберу это, все будет хорошо. Я предполагаю, что имеет смысл, что два компонента не могут привязываться к одной и той же вещи, я просто хочу, чтобы ошибка имела смысл. Спасибо, что указали, что это сработало и заставило меня на правильном пути. – casolorz

ответ

0

Оказалось, что атрибут binding. Удаление его заставляет все работать, мне просто нужен другой способ аннулирования этого поля.