2010-09-01 2 views
7

Обнаружена странная проблема, возможно, ошибка.Компонент не обрабатывается как 'ajaxSingle'

У меня есть 2 одинаковых веб-страницы с Richfaces: suggestionbox.

На первом моем предложение предложение работает хорошо, все работает нормально, но на другом у меня есть некоторые проблемы. SuggestionBox не показывает мои предложения. В журналах у меня есть что-то вроде этого:

WARNING: No component found to process as 'ajaxSingle' for clientId remains-form:konta-suggest 
2010.1.9 12:02:29 org.ajax4jsf.component.AjaxViewRoot processPhase 

Любые заключения?

UPD:

<h:inputText value="#{repobean.kont}" id="kont" label="Payer" style="width:230px;"/> 
    <rich:suggestionbox onobjectchange="printObjectsSelected(#{rich:element('konta-id')}, #{rich:component('konta-suggest')}, 'id');" usingSuggestObjects="true" width="230" var="result" fetchValue="#{result.kont}" suggestionAction="#{kontabean.suggest}" id="konta-suggest" for="kont"> 
            <h:column> 
             <h:outputText value="#{result.kont}"/> 
            </h:column> 
            <h:column> 
             <h:outputText value="#{result.kontName}"/> 
            </h:column> 
           </rich:suggestionbox> 
<h:inputHidden id="konta-id" value="#{repobean.kontId}" /> 

Javascript внутри onobjectchange это функция, которая выводит идентификатор в Konta-идентификатор.

Код jsp на второй странице скопирован с первой страницы.

+0

Хотелось бы увидеть код ... Учитывая ошибку, проверьте свои идентификаторы. – Naganalf

+0

Посмотреть последнее сообщение – Yurish

+0

Где в вашем коде 'ajaxSingle'? – amorfis

ответ

-2

Я думаю, что a4j taglib отсутствует на странице.

+0

<% @ taglib uri = "http://richfaces.org/a4j" prefix = "a4j"%> Есть такое. – Yurish

1

Что вы можете сделать, когда вы столкнулись с проблемами Ajax, чтобы добавить <a4j:log> компонент:

<a4j:log popup="false"/> 

Это создаст окно на странице со всеми журналами Ajax от RichFaces. В конце концов, вы можете установить popup="true", а затем отобразить всплывающее окно с помощью Ctrl + Сдвиг + L

Есть много журналов в этой панели, но в целом важных вещей, чтобы смотреть на это сообщения WARN или ERROR.

Другая забота о вашем сообщении об ошибке: речь идет о некотором ajaxSingle обработке. В коде JSF у вас нет атрибута ajaxSingle. Когда происходит эта ошибка? Когда вы начнете вводить некоторые символы в свой inputText компонент?

+0

Да, ошибка возникает, когда я начинаю вводить символы в inputText. – Yurish

+0

@Yurish Получили ли вы интересную информацию с помощью компонента ''? – romaintaz

+0

Нет, еще ничего. На форум richfaces также нет ответов. Ошибка? – Yurish

1

Не существует условного рендеринга (rendered="#{some expression}") вокруг этого компонента ввода и предложения? Или итерация?

Выполняет ли .suggest() действие перед этой ошибкой?

Такие ситуации, как вы описали, происходят, когда компонент, связанный с действием (вызывающий), находится в условном рендере (или итерации), который не позволяет создавать компонент на этапе RestoreView. Тогда действие вообще не вызывается, а идентификатор компонента не найден в дереве компонентов.

Пример: если у вас есть что-то вроде этого:

<h:panelGroup rendered="#{not empty myBean.valueSetInActionHandler}"> 
    <h:commandLink id="action1" action="#{myBean.callOtherAction" value="appears after action"/> 
</h:panelGroup> 
<h:commandLink id="action2" action="#{myBean.setValueInActionHandler}" value="display button above"/> 

Первый рендеринга - только одна, вторая кнопка визуализируется. Если setValueInActionHandler устанавливает некоторое значение и отображает одну и ту же страницу - первая кнопка («появляется после действия») также будет отображаться. Но нажатие на него не приведет к ошибке callOtherAction - потому что по второму запросу во время RestorePhase значениеInActionHandler снова пуст, поэтому action1 не будет доступен ...

Надеюсь, что я сумел сделать себе ясно :)

2

Я знаю, вопрос 5 лет, но у нас была такая же ошибка (с различными компонентами)

В нашем случае мы изменили внешнее ui:repeat - a4j:repeat. После этого наши компоненты работали должным образом.

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