Hi,
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

Reply via email to