rich:listShuttle-Property not found on type java.lang.String
khaled_288 Jun 1, 2008 6:34 AM
I'm useing <rich:listShuttle> tag and i pass to it 2 lists : ArrayList
the lists are displayed correctly but when the select items and submit the form, the below exception is raised.
Service (value object):
public class Service implements Serializable // 3 properties + getters + setters
GetPackage (backing bean)
public class GetPackageInfo extends SuperBean { private ServicePackage pack = new ServicePackage(); private List<Service> services; private List<Service> selectedList = new ArrayList<Service>(); private List<Service> availableList = new ArrayList<Service>(); private boolean saved = false; public GetPackageInfo() throws Exception{ super(); initOptions(); } public String update(){ // update package info } private void initOptions(){ // lookup the lists } }
JSP
<rich:listShuttle orderControlsVisible="false" var="service" fastOrderControlsVisible="false" sourceValue="#{getPackageInfo.availableList}" targetValue="#{getPackageInfo.selectedList}"> <h:column> <h:outputText value="#{service.englishName}" /> </h:column> </rich:listShuttle>
Exception (raised only on submit)
org.apache.jasper.el.JspPropertyNotFoundException: /jsp/getPackage.jsp(61,6) '#{service.englishName}' Property 'englishName' not found on type java.lang.String org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:104) javax.faces.component.UIOutput.getValue(UIOutput.java:173) com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189) com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320) com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200) javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836) org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286) org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262) org.richfaces.renderkit.ListShuttleRendererBase.encodeOneRow(ListShuttleRendererBase.java:182) org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:86) org.richfaces.model.ListShuttleDataModel.walk(ListShuttleDataModel.java:57) org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1127) org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:106) org.richfaces.renderkit.ListShuttleRendererBase.encodeRows(ListShuttleRendererBase.java:99) org.richfaces.renderkit.html.ListShuttleRenderer.doEncodeChildren(ListShuttleRenderer.java:269) org.richfaces.renderkit.html.ListShuttleRenderer.doEncodeChildren(ListShuttleRenderer.java:255) org.richfaces.renderkit.ListShuttleRendererBase.encodeChildren(ListShuttleRendererBase.java:226) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812) javax.faces.component.UIComponent.encodeAll(UIComponent.java:886) javax.faces.render.Renderer.encodeChildren(Renderer.java:137) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812) javax.faces.component.UIComponent.encodeAll(UIComponent.java:886) javax.faces.component.UIComponent.encodeAll(UIComponent.java:892) com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176) org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154) org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260) org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366) org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493) org.displaytag.filter.CarportalResponseOverrideFilter.doFilter(CarportalResponseOverrideFilter.java:58) org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) com.elm.carportal.web.filters.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:48) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)