2011-11-04 6 views
5

Al utilizar el <a4j:support> como se describe en RichFaces example siempre obtengo el siguiente error al cambiar el valor del menú desplegable.Error de JSF "Se esperaba un tipo de componente secundario ... Se encontró nulo".

esperado un tipo de componente niño de UISelectItem/UISelectItems para javax.faces.SelectOne tipo de componente (myId). Encontrado nulo.

Aquí está el código JSF:

<h:selectOneMenu id="selectId" valueChangeListener="#{cs.myListener}" value="#{cs.selectList.selectedItem}"> 
<f:selectItems value="#{cs.bundeslandList.selectItems}" /> 
<a4j:support event="onchange" reRender="otherFieldId" /> 
</h:selectOneMenu> 

<h:selectOneMenu id="otherFieldId"> 
<f:selectItems value="#{cs.bundeslandList.selectOtherField.selectItems}" /> 
</h:selectOneMenu> 

Desde cs.bundeslandList.selectOtherField.selectItems es al menos un vacío ArrayList, estoy seguro de que no puede haber otherFieldIdnull.


He desglosado ahora toda la página y ya no me aparece el error. El valueChangeListener se llama correctamente pero desafortunadamente, el otherFieldId no se actualizará después de la llamada. Esta vacio Pero al depurar puedo ver que la propiedad correspondiente está llena de entradas.

+0

Aún trabajando en eso ... –

Respuesta

5

El comprador de <f:selectItems value> ha devuelto en algún momento definitivamente null. No hay otra razón para esta excepción. Es probable que el flujo lógico del código de bean de respaldo sea completamente erróneo.

Tenga en cuenta que hacer esta propiedad static es una muy mala idea. Se va a compartir entre todas las demás solicitudes en toda la aplicación web. Desea que se base en la solicitud o en la sesión más alta.

+0

Lo siento, estaba equivocado sobre el 'static'. –

+0

Ver mi publicación editada por favor. –

+0

Ese es un problema diferente y debería entrar técnicamente en una nueva pregunta. El primer paso sería elaborar qué es exactamente lo que quiere decir con "no se actualizará". ¿No fue ajax re-renderizado? ¿O acaso el getter '' acaba de devolver una lista vacía? – BalusC

Cuestiones relacionadas