posted this to the facelets mailing list, but realise that i is probably better suited for this one.
(Using 3 days old myfaces 1.1.2 with faceletes 1.1.10)
---------- Forwarded message ----------
From: Mikael Andersson <[EMAIL PROTECTED]>
Date: 05-Mar-2006 18:06
Subject: Re: ValueBinding question
To: [EMAIL PROTECTED]
Typo,
pasted in the xhtml code for my attempt with Map<String,List>, but you see what I try to do :)
-Micke
On 05/03/06, Mikael Andersson <
[EMAIL PROTECTED]> wrote:
Hi,
I am trying to use a <String, Sting[]> Map with selectManyMenu (Tried with List instead of String[] also), but I can't get it to work.
I am trying the following but get a IllegalArgumentException exception.
========xhmtl file :
<select jsfc="h:selectManyMenu" name="program" required="true" value="#{theBean.lists['program']}">
<option jsfc="f:selectItem" itemValue="label1" itemLabel="value1"/>
<option jsfc="f:selectItem" itemValue="label2" itemLabel="value2"/>
<option jsfc="f:selectItem" itemValue="label3" itemLabel="value3"/>
<option jsfc="f:selectItem" itemValue="label4" itemLabel="value4"/>
</select>
========I define the lists property of the bean like this:
private HashMap<String,String[]> strArrs = new HashMap<String,String[]>();
public HashMap<String, String[]> getStrArrs() {
return strArrs;
}
public void setStrArrs(HashMap<String, String[]> strArrs) {
this.strArrs = strArrs;
}
========Exceptions:
05-Mar-2006 17:37:11 com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View
java.lang.IllegalArgumentException: ValueBinding for UISelectMany : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /pages/test.xhtml][Class: javax.faces.compone nt.html.HtmlForm,Id: hej][Class: javax.faces.component.html.HtmlSelectManyMenu,Id: _id2]} must be of type List or Array
at org.apache.myfaces.renderkit.RendererUtils.findUISelectManyConverter(RendererUtils.java:366)
at org.apache.myfaces.renderkit.html.HtmlRendererUtils.findUISelectManyConverterFailsafe(HtmlRendererUtils.java:339)
at org.apache.myfaces.renderkit.html.HtmlRendererUtils.internalRenderSelect(HtmlRendererUtils.java:276)
at org.apache.myfaces.renderkit.html.HtmlRendererUtils.renderMenu(HtmlRendererUtils.java:257)
at org.apache.myfaces.renderkit.html.HtmlMenuRendererBase.encodeEnd(HtmlMenuRendererBase.java:48)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:329)
at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:554)
at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:551)
at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:551)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:457)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:372)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:410)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:793)
at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:285)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:784)
at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:129)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:784)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:334)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:172)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:166)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:537)
at org.mortbay.jetty.Server.handle(Server.java:190)
at org.mortbay.jetty.HttpConnection.doHandler(HttpConnection.java:266)
at org.mortbay.jetty.HttpConnection.access$1500(HttpConnection.java:40)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:458)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:469)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:190)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:225)
at org.mortbay.jetty.nio.SelectChannelConnector$HttpEndPoint.run(SelectChannelConnector.java:619)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:416)
Thanks,
Micke

