By the way, here is the signature for the mutator:

public void setUserLocations(SelectItem[] selectedLocations);

Is it expecting a String[] instead or will it convert for me?


monkeyden wrote:
> 
> I am getting a converter error when trying to pass an array of SelectItems
> to a selectManyListbox.  Isn't this component designed to handle an array? 
> Why would I need a converter?  Note, these are pre-selected items.  That's
> why the value of the selectManyListbox is the same as <f:selectItems/>
> 
> JSF:
> <h:selectManyListbox immediate="true" id="userLocations" 
>     value="#{editProfileAction.updateUserLocations}"
>     size="11" styleClass="selectBox"
>     valueChangeListener="#{editProfileAction.updateUserLocations}">
>     <f:selectItems value="#{editProfileAction.userLocations}"/>
> </h:selectManyListbox>
> 
> 
> Java:
> private SelectItem[] userLocations;
> ...
> public SelectItem[] getUserLocations() {
>     return userLocations;
> }
> 
> public SelectItem[] getUserLocations() {
>     return userLocations;
> }
> ...
> Result:
> java.lang.IllegalArgumentException: Value is no String and component
> alertsSubView:alertsForm:userLocations does not have a Converter
>       at
> org.apache.myfaces.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:544)
>       at
> org.apache.myfaces.renderkit.RendererUtils.internalSubmittedOrSelectedValuesAsSet(RendererUtils.java:586)
>       at
> org.apache.myfaces.renderkit.RendererUtils.getSelectedValuesAsSet(RendererUtils.java:527)
>       at
> org.apache.myfaces.renderkit.html.HtmlRendererUtils.getSubmittedOrSelectedValuesAsSet(HtmlRendererUtils.java:307)
>       at
> org.apache.myfaces.renderkit.html.HtmlRendererUtils.internalRenderSelect(HtmlRendererUtils.java:290)
>       at
> org.apache.myfaces.renderkit.html.HtmlRendererUtils.renderListbox(HtmlRendererUtils.java:241)
>       at
> org.apache.myfaces.renderkit.html.HtmlListboxRendererBase.encodeEnd(HtmlListboxRendererBase.java:56)
>       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
>       at
> org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:203)
>       at
> org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:85)
>       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
>       at
> org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:203)
>       at
> org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:85)
>       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
>       at
> org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:203)
>       at
> org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:85)
>       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:448)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:448)
>       at
> org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
>       at
> org.apache.myfaces.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:62)
>       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
>       at
> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:442)
>       at
> org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.writeTabsContents(HtmlTabbedPaneRenderer.java:530)
>       at
> org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.encodeEnd(HtmlTabbedPaneRenderer.java:222)
>       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Converter-error-tf2564573.html#a7149182
Sent from the MyFaces - Users mailing list archive at Nabble.com.

Reply via email to