java - Map as backing property for rich:pickList -


i want use map<string, list<object>> backing property rich:picklist follows:

       <ui:repeat value="#{bean.selectedmap.entryset" var="entry"} >         <rich:picklist value="#{entry.value}" var="list" >             <f:selectitems value="#{bean.getall}" />             <f:converter converterid="mybeanconverter" />          </rich:picklist>        </ui:repeat> 

backing bean:

public class mybean { private map<string, list<string>> mylist; ... getters/setters mylist } 

the problem i'm still getting exception:

15:19:16,583 severe [info.fingo.salutor.exception.customexceptionhandler] (http--127.0.0.1-8080-4) critical exception!: javax.faces.facesexception: modeltype (class java.lang.object) must either array, or collection @ com.sun.faces.lifecycle.processvalidationsphase.execute(processvalidationsphase.java:84) [jsf-impl-2.1.7-jbossorg-2.jar:] @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) [jsf-impl-2.1.7-jbossorg-2.jar:] @ com.sun.faces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:] @ javax.faces.webapp.facesservlet.service(facesservlet.java:593) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final] @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:329) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:248) [jbossweb-7.0.13.final.jar:]  caused by: javax.faces.facesexception: modeltype (class java.lang.object) must either array, or collection     @ org.richfaces.renderkit.selectmanyhelper.getconvertedvalue(selectmanyhelper.java:332) [richfaces-components-ui-4.2.2.final.jar:4.2.2.final]     @ org.richfaces.renderkit.selectmanyrendererbase.getconvertedvalue(selectmanyrendererbase.java:108) [richfaces-components-ui-4.2.2.final.jar:4.2.2.final]     @ javax.faces.component.uiinput.getconvertedvalue(uiinput.java:1030) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ javax.faces.component.uiinput.validate(uiinput.java:960) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ javax.faces.component.uiinput.executevalidate(uiinput.java:1233) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ javax.faces.component.uiinput.processvalidators(uiinput.java:698) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ com.sun.faces.facelets.component.uirepeat.process(uirepeat.java:532) [jsf-impl-2.1.7-jbossorg-2.jar:]     @ com.sun.faces.facelets.component.uirepeat.processvalidators(uirepeat.java:766) [jsf-impl-2.1.7-jbossorg-2.jar:]     @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1214) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ javax.faces.component.uiform.processvalidators(uiform.java:253) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1214) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ javax.faces.component.uiviewroot.processvalidators(uiviewroot.java:1172) [jboss-jsf-api_2.1_spec-2.0.1.final.jar:2.0.1.final]     @ com.sun.faces.lifecycle.processvalidationsphase.execute(processvalidationsphase.java:76) [jsf-impl-2.1.7-jbossorg-2.jar:]     ... 39 more 

anyone knows going about?

if close our eyes on failure close el expression (}), problem there indeed no getentryset method defined on map instance. so, assuming environment supports el 2.2, put function call, () @ end of el expression, tell el method call.

next, <ui:repeat> doesn't support iterating on set, either create helper getter returns list, or create custom el function, or use set#toarray() method.

for example, latter like: #{bean.selectedmap.entryset().toarray()}. alternatives, @ answers on topic questions asked, , answered, on stack overflow.


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -