2010-09-01 15 views
7

Se ha encontrado un problema extraño, posiblemente un error.Ningún componente encontrado para procesar como 'ajaxSingle'

Tengo 2 páginas web idénticas con Richfaces: sugetionbox.

En la primera, mi sugerencia está funcionando bien, todo funciona bien, pero en otra tengo algunos problemas. SuggestionBox no muestra mis sugerencias. En los registros tengo algo como esto:

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 

¿Alguna conclusión?

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 dentro onobjectchange es una función que imprime Identificación en Konta-id.

El código de jsp en la segunda página está copiado desde la primera página.

+0

Me encantaría ver el código ... Dado el error, verifique sus identificaciones. – Naganalf

+0

mirar actualizado publicar – Yurish

+0

¿Dónde en su código es 'ajaxSingle'? – amorfis

Respuesta

-2

Creo que falta a4j taglib en la página.

+0

<% @ taglib uri = "http://richfaces.org/a4j" prefix = "a4j"%> Hay tal. – Yurish

1

Lo que puede hacer, cuando se encuentra con problemas de Ajax, es añadir el componente <a4j:log>:

<a4j:log popup="false"/> 

Esto creará una caja en su página con todos los registros de Ajax de RichFaces. Con el tiempo, se puede establecer popup="true" y luego mostrar la ventana emergente por Ctrl + Shift + L

Hay muchos registros de este panel, pero en general las cosas importantes a tener en cuenta es los mensajes de advertencia o ERROR.

Otra preocupación acerca de su mensaje de error: se trata de un procesamiento ajaxSingle. En su código JSF, no tiene definido el atributo ajaxSingle. ¿Cuándo ocurre este error? ¿Cuándo comienza a escribir algunos caracteres en su componente inputText?

+0

Sí, ocurre un error cuando empiezo a ingresar caracteres en inputText. – Yurish

+0

@Yurish ¿Obtuviste información interesante con el componente ''? – romaintaz

+0

No, todavía nada. En el foro de richfaces tampoco hay respuestas. ¿Error? – Yurish

1

¿No hay representación condicional (rendered="#{some expression}") alrededor de esta entrada y componentes de sugerencias? O una iteración?

¿Se invoca a .suggest() acción antes de este error?

Situaciones como las que describió suceden cuando un componente (causante) relacionado con la acción se encuentra dentro de una representación condicional (o una iteración) que no permite la creación de un componente en la fase RestoreView. Entonces, la acción no se llama en absoluto y la identificación del componente no se encuentra en el árbol de componentes.

Ejemplo: si tiene algo como esto:

<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"/> 

primer render - sólo uno, segundo botón se representa. Si setValueInActionHandler establece algún valor y muestra la misma página, el primer botón ("aparece después de la acción") también se renderizará. Pero al hacer clic en él no se activará un callOtherAction - porque en una segunda solicitud, durante el restablecimiento, la fase valueInActionHandler está vacía de nuevo, por lo que la acción 1 no estará disponible ...

esperanza I conseguido hacer yo claro :)

2

que sé, la cuestión es de 5 años de edad, pero tuvimos este mismo error (con diferentes componentes)

En nuestro caso hemos cambiado el exterior ui:repeat a un a4j:repeat. Después de eso, nuestros componentes funcionaron como se esperaba.

Cuestiones relacionadas