problema con navigation rule en JSF
hola amigos, estoy programando con Richfaces y tengo el siguiente problema: implemento drag-drop para arrastrar elementos de un extendeddatatable a un datatable, esto funciona perfectamente cuando pruebo la pagina directamente y quitando las navigation-rule de mi faces-config.xml...pero una vez que habilito dichas reglas para poder probar junto con otras paginas, cada que arrastro un elemento y lo suelto en la drop zone me manda lo siguiente:
javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
causa raíz
javax.el.ELException: La expresión no puede ser nula
org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:87)
org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:150)
org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:194)
org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
javax.faces.application.NavigationCase.getToViewId(NavigationCase.java:264)
com.sun.faces.application.NavigationHandlerImpl.determineViewFromActionOutcome(NavigationHandlerImpl.java:580)
com.sun.faces.application.NavigationHandlerImpl.findExactMatch(NavigationHandlerImpl.java:345)
com.sun.faces.application.NavigationHandlerImpl.getViewId(NavigationHandlerImpl.java:279)
com.sun.faces.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:159)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
javax.faces.component.UICommand.broadcast(UICommand.java:315)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
Esta es la porcion de mi codigo del jsp donde se genera el error:
.
.
.
<h:panelGrid columns="2">
<rich:extendedDataTable headerClass="panelSelsHeader" width="300px" height="300px" selection="#{controllerCrearExamen.selection}" id="temasvf" sortMode="single" selectionMode="multi" var="sub" value="#{controllerCrearExamen.reactsvf}">
<rich:column sortable="true" label="Tema" filterEvent="onkeyup" filterBy="#{sub.tema.nomTem}" sortBy="#{sub.tema.nomTem}">
<f:facet name="header">
<h:outputText id="lblTema" value="Tema"/>
</f:facet>
<h:outputText value="#{sub.tema.nomTem}"/>
</rich:column>
<rich:column sortable="true" label="Subtema" filterEvent="onkeyup" filterBy="#{sub.nomSub}" sortBy="#{sub.nomSub}">
<f:facet name="header">
<h:outputText id="lblSubtema" value="Subtema"/>
</f:facet>
<a4j:outputPanel>
<rich:dragSupport dragIndicator=":indicator" dragType="subtemas">
<a4j:actionparam value="#{sub.nomSub}" name="nombrevf"/>
</rich:dragSupport>
<h:outputText value="#{sub.nomSub}"/>
</a4j:outputPanel>
</rich:column>
<rich:column sortable="false" label="Reactivos vf">
<f:facet name="header">
<h:outputText id="lblReacvf" value="Reactivos v/f"/>
</f:facet>
<h:outputText value="#{sub.pvfSub}"/>
</rich:column>
</rich:extendedDataTable>
<rich:panel styleClass="panelSels" headerClass="panelSelsHeader">
<f:facet name="header">
<h:outputText value="Seleccion:"/>
</f:facet>
<rich:dropSupport acceptedTypes="subtemas" reRender="frmDatosExamen"
dropListener="#{controllerCrearExamen.agregarSubtemavf}"/>
<rich:dataTable value="#{controllerCrearExamen.seleccionadosvf}" var="sbtsel2" id="sbtsels">
<h:column>
<h:outputText value="#{sbtsel2.nomSub}"/>
</h:column>
<h:column>
<a4j:outputPanel>
<a4j:commandLink reRender="frmDatosExamen" action="#{controllerCrearExamen.quitarSubtemavf}">
<a4j:actionparam value="#{sbtsel2.nomSub}" name="nombrevfq"/>
<h:graphicImage value="/resources/images/incorrecto.png"/>
</a4j:commandLink>
</a4j:outputPanel>
</h:column>
</rich:dataTable>
</rich:panel>
</h:panelGrid>
<a4j:commandButton id="sigvf" value="Siguiente2" reRender="frmDatosExamen" action="#{controllerCrearExamen.act_opcm}"/>
</rich:tab>
.
.
.
</h:form>
Esta es la funcion del dropListener
FacesContext context = FacesContext.getCurrentInstance();
Csubtema sbtnew = new Csubtema();
int posicion = -1;
sbtnew=daos.getbyName(context.getExternalContext().getRequestParameterMap().get("nombrevf").toString());
seleccionadosvf.add(sbtnew);
for(int i=0;i<reactsvf.size();i++)
{
if(reactsvf.get(i).getNomSub().compareTo(sbtnew.getNomSub())==0)
{
posicion = i;
break;
}
}
if(posicion!=-1)
reactsvf.remove(posicion);
this.calculapregsvf();
return "same";
}
y esta es la funcion del ultimo commandbutton, en este si me jala perfectamente las reglas de navegacion
{
this.setDats(true);
this.setVf(true);
this.setAbi(true);
this.setOpcm(false);
this.setRelcol(true);
this.setNopreg(true);
return "same";
}
finalmente las reglas de navegacion del faces config
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>successProfesor</from-outcome>
<to-view-id>/CrearExamen.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<from-view-id>/CrearExamen.jsp</from-view-id>
<navigation-case>
<from-outcome>same</from-outcome>
<to-view-id>/CrearExamen.jsp</to-view-id>
</navigation-case>
</navigation-rule>
Ojala me puedan ayudar, muchas gracias de antemano
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 9 semanas 21 horas
hace 13 semanas 1 día
hace 20 semanas 5 días
hace 28 semanas 5 días
hace 31 semanas 2 días
hace 32 semanas 6 días
hace 36 semanas 1 día
hace 36 semanas 1 día
hace 42 semanas 1 día
hace 43 semanas 2 días