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.