JBoss RichFaces: listShuttle problem
mpssantos.mpssantos.gmail.com Feb 4, 2009 7:09 PMHello there!
Im trying to use the listShuttle to add roles to a User Entity, but im getting problems when when i execute the action to persist the user.
As far as i understood, the var attribute on the listShuttle RichFaces component is used as a list and to get the value to the columns on the selection tables. When i execute the command registerUser
i get this exception:
javax.faces.FacesException: javax.el.PropertyNotFoundException: /registerUser.xhtml @42,63 value="#{rolesShuttle.name}": Property 'name' not found on type java.lang.String
at javax.faces.component.UIOutput.getValue(UIOutput.java:176)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286)
at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
at org.richfaces.renderkit.ListShuttleRendererBase.encodeOneRow(ListShuttleRendererBase.java:182)
at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:86)
at org.richfaces.model.ListShuttleDataModel.walk(ListShuttleDataModel.java:57)
at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:1151)
here is the xhtml file;
<ui:define name="body">
<rich:panel>
<f:facet name="header">registerUser</f:facet>
<h:form id="registerUserForm">
<div class="dialog">
<h:panelGrid columns="4" rowClasses="prop"
columnClasses="name,value,nameRigth,valueRigth">
<h:outputLabel for="name" value="#{messages['registerUser.name']}" />
<h:inputText id="name" value="#{registerUser.name}" required="true" />
<h:outputLabel for="password" value="#{messages['registerUser.password']}" />
<h:inputSecret id="password" value="#{registerUser.password}" required="true" />
<h:outputLabel for="mail" value="#{messages['registerUser.mail']}" />
<h:inputText id="mail" value="#{registerUser.mail}" required="true" />
<h:outputLabel for="fullName" value="#{messages['registerUser.fullname']}" />
<h:inputText id="fullName" value="#{registerUser.fullName}" required="true"/>
<rich:listShuttle
var="rolesShuttle" listHeight="300" listWidth="200"
sourceCaptionLabel="Available Items"
sourceValue="#{registerUser.rolesList}"
targetCaptionLabel="Currently Active Items"
targetValue="#{registerUser.rolesSelection}">
<rich:column>
<h:outputText value="#{rolesShuttle.name}"></h:outputText>
</rich:column>
</rich:listShuttle>
</h:panelGrid>
</div>
<h:commandButton id="registerUser" value="registerUser!" action="#{registerUser.registerUser}"/>
</h:form>
</rich:panel>
</ui:define>
</ui:composition>
Why when the page is rendering there is no problem with value rolesShuttle.name
, but when is executing the action a exception is raised?
Thanks a lot!