ExtendedDataTable allows only EL expressions for property selection
-------------------------------------------------------------------

                 Key: RF-9444
                 URL: https://jira.jboss.org/browse/RF-9444
             Project: RichFaces
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: component-ScrollableDataTable
    Affects Versions: 3.3.3.Final
         Environment: Windows 2003 server
Apache Tomcat 6.0.26 Server 
Java 1.5
Richfaces 3.3.3 final
            Reporter: Eloweyn G
            Priority: Blocker


when I start the aplication I get this error:

org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la 
página JSP /pages/index.jsp en línea 37

34:                             
35:                     <br>
36:                             <div align="center">
37:                                     <rich:extendedDataTable
38:                                             value="#{mantGestBean.lGest}" 
var="listaGestVar" id="table"
39:                                             
sortMode="#{mantGestBean.sortMode}"
40:                                             
selectionMode="#{mantGestBean.selectionMode}"


Stacktrace:
        
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
        
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
        
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:468)
        
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
        
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
        com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)
        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.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
        
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
        org.apache.jsp.index_jsp._jspService(index_jsp.java:58)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


causa raíz 

java.lang.IllegalArgumentException: Component org.richfaces.ExtendedDataTable 
with Id table allows only EL expressions for property selection
        
org.richfaces.taglib.ExtendedDataTableTag.setProperties(ExtendedDataTableTag.java:1464)
        
javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:230)
        
javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:486)
        
javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:670)
        
javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1142)
        
org.apache.jsp.pages.index_jsp._jspx_meth_rich_005fextendedDataTable_005f0(index_jsp.java:302)
        
org.apache.jsp.pages.index_jsp._jspx_meth_a4j_005fform_005f0(index_jsp.java:241)
        
org.apache.jsp.pages.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:165)
        org.apache.jsp.pages.index_jsp._jspService(index_jsp.java:125)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
        
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:468)
        
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
        
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
        
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
        
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
        com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
        org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)
        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.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
        
org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
        org.apache.jsp.index_jsp._jspService(index_jsp.java:58)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


Here you have my index.jsp

<%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%>
<%@ taglib uri="http://richfaces.org/rich"; prefix="rich"%>
<%@ taglib uri="http://richfaces.org/a4j"; prefix="a4j"%>

<html>

    <head>
        <title>MG</title>
                <link href="css/MG.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
        <f:view>
                <a4j:form style="width:90%;align:center">
                                <table style="width: 100%;" border="0">
                                        <col /> <col /> 
                                        <tbody>
                                                <tr>
                                                        <td><img alt="AXA" 
src="img/logo_axa_2.gif" /></td>
                                                        <td style="text-align: 
right; margin-left: auto; margin-right: 0pt;">
                                                                <span 
style="font-family: Arial,Helvetica,sans-serif;">
                                                                <span 
style="font-size: 8pt;">SE0200</span></span>
                                                        </td>
                                                </tr>
                                        </tbody>
                                </table>
                                <h1>Siniestros Extranjeros - Mantenimiento de 
gestores</h1>
                                <p>A continuación se muestra la lista de 
gestores de Siniestros Extranjeros.
                                        Por favor, marque los gestores 
presentes y pulse <em>Aceptar</em> para 
                                        confirmar los cambios. Si no desea 
grabar ningún cambio o si ya ha terminado y
                                        desea finalizar, pulse 
<em>Cancelar</em> para cerrar esta ventana.
                                </p>
                                
                        <br>
                                <div align="center">
                                        <rich:extendedDataTable
                                                value="#{mantGestBean.lGest}" 
var="listaGestVar" id="table"
                                                
sortMode="#{mantGestBean.sortMode}"
                                                
selectionMode="#{mantGestBean.selectionMode}"
                                                
selection="#{mantGestBean.selection}" align="center" height="200px" 
                                                width="50%">
                        
                                                <rich:column sortable="true" 
label="Usuario"
                                                        
filterBy="#{listaGestVar.nombre}" filterEvent="onkeyup"
                                                        
sortBy="#{listaGestVar.nombre}" width="85%">
                        
                                                        <f:facet name="header">
                                                                <h:outputText 
value="Usuario" />
                                                        </f:facet>
                                                        <h:outputText 
value="#{listaGestVar.nombre}" />
                        
                        
                                                </rich:column>
                        
                                                <rich:column label="Presente" 
width="15%">
                                                        <f:facet name="header">
                                                                <h:outputText 
value="Presente" />
                                                        </f:facet>
                                                        
<h:selectBooleanCheckbox id="checkEntry"
                                                                
value="#{listaGestVar.presente}" />
                                                </rich:column>
                                        </rich:extendedDataTable> 
                                        <h:panelGrid columns="2" 
style="align:right">
                                                <a4j:commandButton 
value="Aceptar" style="align:right"
                                                        
action="#{mantGestBean.update}"
                                                        
oncomplete="Richfaces.showModalPanel('Panel')" reRender="panel" />
                                                <a4j:commandButton 
value="Cancelar" onclick="window.close()"
                                                        style="align:right" />
                                        </h:panelGrid>
                                </div>
                                <p>
                        <span class="a_link" 
onclick="Richfaces.showModalPanel('PanelActualizaGest')">Actualizar lista 
gestores. </span> Actualiza la lista de gestores. 
                           Incorpora a la lista de gestores, marcándolos como 
presentes, 
                           todos los usuarios que se hayan añadido al grupo de 
gestores de apertura. 
                           Elimina usuarios que se hayan quitado del grupo de 
gestores de apertura y 
                           redistribuye sus tareas entre los restantes gestores 
que están presentes.</p>
                        </a4j:form>
        
                        <rich:modalPanel id="panel" width="350" height="75">
                                <f:facet name="header">
                                        <h:panelGroup>
                                                <h:outputText 
value="Información"></h:outputText>
                                        </h:panelGroup>
                                </f:facet>
                                <f:facet name="controls">
                                        <h:panelGroup>
                                                <h:graphicImage 
value="/img/close.png"
                                                        styleClass="hidelink" 
id="hidelink" />
                                                <rich:componentControl 
for="panel" attachTo="hidelink"
                                                        operation="hide" 
event="onclick" />
                                        </h:panelGroup>
                                </f:facet>
                                <h:outputText
                                        
value="#{mantGestBean.sMensaje}"></h:outputText>
                        </rich:modalPanel>
                        
                        <rich:modalPanel id="panelActualizaGest" width="400" 
height="100">
                                <f:facet name="header">
                                        <h:panelGroup>
                                                <h:outputText 
value="Atención"></h:outputText>
                                        </h:panelGroup>
                                </f:facet>
                                <f:facet name="controls">
                                        <h:panelGroup>
                                                 <h:graphicImage 
value="/img/close.png" style="cursor:pointer" 
onclick="Richfaces.hideModalPanel('panelActualizaGest')" />
                                        </h:panelGroup>
                                </f:facet>
                                <h:outputText
                                        value="Se va a proceder a la 
actualización de la lista de gestores. Desea continuar?"></h:outputText>
                                 <a4j:form>
                                        <table style="width: 100%;">
                                                <tr>
                                                <td >
                                                <div align="center" >
                                                        <a4j:commandButton 
value="   Sí   " action="#{cargaBean.actualizarGestores}" 
onclick="Richfaces.hideModalPanel('panelActualizaGest')" 
oncomplete='window.location=\"./pages/carga.jsf\"' />
                                                        &nbsp;
                                                        <a4j:commandButton 
value="   No   " onclick="Richfaces.hideModalPanel('panelActualizaGest')" />
                                                </div>
                                                </td>
                                                </tr>
                                        </table>
                                        
                                 </a4j:form>

                                        
                        </rich:modalPanel>
                
                </f:view>
                    
                        
    </body> 

</html>

and this is the MantGestBean class:

package es.axa.mgSE.beans;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.richfaces.model.selection.SimpleSelection;

import es.axa.SE.filenet.tasks.TaskSEManager;
import es.axa.mgSE.hibernate.HibernateUtil;
import es.axa.mgSE.objects.Gestor;
import es.axa.mgSE.objects.ListaGestores;


public class MantGestBean {
        private List <Gestor> lGest;
        private String sortMode="single";
        private String selectionMode="multi";
        private SimpleSelection selection = new SimpleSelection();
        private String sMensaje="";

        private static final Log log = LogFactory.getLog(MantGestBean.class);
        
        public List <Gestor> getlGest() throws Exception {
                try {
                        ListaGestores lgestObj=new ListaGestores();
                        lGest=lgestObj.getListGestores();
                        HibernateUtil.closeSession();
                        return lGest;
                        
                }catch (Exception e){
                        HibernateUtil.closeSession();
                        throw e;
                }
                
        }

        public void setlGest(List <Gestor> lGest) {
                this.lGest = lGest;
        }

        public String getSortMode() {
                return sortMode;
        }

        public void setSortMode(String sortMode) {
                this.sortMode = sortMode;
        }

        public String getSelectionMode() {
                return selectionMode;
        }

        public void setSelectionMode(String selectionMode) {
                this.selectionMode = selectionMode;
        }

        public SimpleSelection getSelection() {
                return selection;
        }
        
        public void setSelection(SimpleSelection selection) {
                this.selection = selection;
        }
        
        public void takeSelection(){
                System.out.println("Selección");
        }
        
        public String getsMensaje() {
                return sMensaje;
        }

        public void setsMensaje(String sMensaje) {
                this.sMensaje = sMensaje;
        }

        public void update()throws Exception {
                try{
                        if (!lGest.isEmpty()) {
                                log.debug("update - Iniciando update");
                                
                                ListaGestores lgestObj=new ListaGestores();
                                
                                // Obtener la lista tal y como está antes de 
actualizar
                                List<Gestor> listaOldGest = 
lgestObj.getListGestores();
                                
                                // Actualizamos la lista con los valores 
introducidos por el usuario
                                lgestObj.updateListGestores(lGest);
                                
                                // Construir la lista de gestores que pasan de 
activo a inactivo
                                List<Gestor> gestCambiados = new 
ArrayList<Gestor>();
                                for( int i = 0; i < listaOldGest.size(); i++) {
                                        if (!lGest.get(i).isPresente() && 
listaOldGest.get(i).isPresente()) {
                                                gestCambiados.add(lGest.get(i));
                                        }
                                }
                                
                                //Ahora tenemos que pasar las tareas activas de 
los usuarios cambiados
                                //a otros usuarios que estén presentes
                                if (!gestCambiados.isEmpty()){
                                        TaskSEManager taskManager=new 
TaskSEManager();
                                        
taskManager.traspasoTareasActivas(gestCambiados);
                                }
                                        
                                
                                this.setsMensaje("La base de datos se ha 
actualizado correctamente");
                                log.debug("update - Finalizando update");
                        }else {
                                this.setsMensaje("No hay ningún elemento en la 
tabla");
                        }
                        
                }catch (Exception e){
                        throw e;
                }finally {
                        HibernateUtil.closeSession();
                }
        }
        
}

thank you very much

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to