[richfaces-issues] [JBoss JIRA] Updated: (RF-9444) ExtendedDataTable allows only EL expressions for property selection

Eloweyn G (JIRA) jira-events at lists.jboss.org
Thu Oct 7 04:56:39 EDT 2010


     [ https://jira.jboss.org/browse/RF-9444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eloweyn G updated RF-9444:
--------------------------

    Attachment: MantGestSEHib.zip


> 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
>         Attachments: MantGestSE.zip, MantGestSEHib.zip
>
>
> 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

       



More information about the richfaces-issues mailing list