jsf - Pick List showing error Property 'name' not found on type java.lang.String -


i using primefaces pick list , getting error question stated. posting problem relative code. xhtml page

<p:row>   <p:column>   <p:outputlabel style="font-size:12px;" styleclass="labelcaption"    for="bank" value="bank(s) name :" />   </p:column>   <p:column colspan="3">   <p:picklist id="bank" style="font-size:12px;" required="true" value="#{eipoirbean.dualbanks}" var="dbanks" itemlabel="#{dbanks.name}" itemvalue="#dbanks}">    <f:facet name="sourcecaption">available banks</f:facet>   <f:facet name="targetcaption">selected banks</f:facet>   </p:picklist>   </p:column>   </p:row>   <p:row>   <p:column colspan="4" align="left"   styleclass="panelgridfooter ui-widget-header">   <p:commandbutton id="submit" ajax="false"   style="font-size:12px;" value="save"   action="#{eipoirbean.submit}"   icon="ui-icon-check">   </p:commandbutton>   <p:commandbutton icon="ui-icon-arrowreturnthick-1-w"   style="font-size:12px;" value="cancel"   action="listmygrouplifeclaim?faces-redirect=true"   immediate="true" global="true">   </p:commandbutton>   </p:column>   </p:row> 

bean is

@viewscoped @managedbean(name = "eipoirbean") public class investorregistrationbean implements serializable{     private investorsetupbusinessobj businessobj = new investorsetupbusinessobj();     private duallistmodel<bank> dualbanks;      public duallistmodel<bank> getdualbanks() {         return dualbanks;     }      public void setdualbanks(duallistmodel<bank> dualbanks) {         this.dualbanks = dualbanks;     }      public investorsetupbusinessobj getbusinessobj() {         return businessobj;     }      public void setbusinessobj(investorsetupbusinessobj businessobj) {     this.businessobj = businessobj;     }      public investorregistrationbean(){          duallist_of_banks();     }     public void duallist_of_banks(){         dualbanks = new duallistmodel<bank>(businessobj.getinvestor().getbanks(), new arraylist<bank>());     }     public void submit() {         businessobj.getinvestor().setbanks(dualbanks.gettarget());         businessobj.save();      }  } 

business object is

public class investorsetupbusinessobj extends basebusinessobject {     private investor investor= new investor();     private investorrequestinvoker invoker = new investorrequestinvoker(this);     private list<map<string,object>> datagrid;      public investor getinvestor() {         return investor;     }      public void setinvestor(investor investor) {     this.investor = investor;     }      public investorrequestinvoker getinvoker() {         return invoker;     }      public void setinvoker(investorrequestinvoker invoker) {             this.invoker = invoker;     }      public investorsetupbusinessobj(){         getinvestor().setbanks(invoker.selectallbank());     } } 

bank.java class

public class bank implements serializable { private static final long serialversionuid = 1l; private long id; private string name; private list<bankbranch> bankbranches; private list<investor> investors; private list<investorjointholder> investorjointholders; private list<pobank> pobanks; private list<posubscription> posubscriptions;  public bank() { }   @id public long getid() {     return this.id; }  public void setid(long id) {     this.id = id; }   public string getname() {     return this.name; }  public void setname(string name) {     this.name = name; }   //bi-directional many-to-one association bankbranch @onetomany(mappedby="bank") public list<bankbranch> getbankbranches() {     return this.bankbranches; }  public void setbankbranches(list<bankbranch> bankbranches) {     this.bankbranches = bankbranches; }   public bankbranch addbankbranches(bankbranch bankbranches) {     getbankbranches().add(bankbranches);     bankbranches.setbank(this);      return bankbranches; }  public bankbranch removebankbranches(bankbranch bankbranches) {     getbankbranches().remove(bankbranches);     bankbranches.setbank(null);      return bankbranches; }  //bi-directional many-to-many association investor @manytomany(mappedby="banks") public list<investor> getinvestors() {     return this.investors; }  public void setinvestors(list<investor> investors) {     this.investors = investors; }    //bi-directional many-to-one association investorjointholder @onetomany(mappedby="bank") public list<investorjointholder> getinvestorjointholders() {     return this.investorjointholders; }  public void setinvestorjointholders(list<investorjointholder> investorjointholders) {     this.investorjointholders = investorjointholders; }   public investorjointholder addinvestorjointholders(investorjointholder investorjointholders) {     getinvestorjointholders().add(investorjointholders);     investorjointholders.setbank(this);      return investorjointholders; }  public investorjointholder removeinvestorjointholders(investorjointholder investorjointholders) {     getinvestorjointholders().remove(investorjointholders);     investorjointholders.setbank(null);      return investorjointholders; }  //bi-directional many-to-one association pobank @onetomany(mappedby="bank") public list<pobank> getpobanks() {     return this.pobanks; }  public void setpobanks(list<pobank> pobanks) {     this.pobanks = pobanks; }   public pobank addpobanks(pobank pobanks) {     getpobanks().add(pobanks);     pobanks.setbank(this);      return pobanks; }  public pobank removepobanks(pobank pobanks) {     getpobanks().remove(pobanks);     pobanks.setbank(null);      return pobanks; }  //bi-directional many-to-many association posubscription @manytomany(mappedby="banks") public list<posubscription> getposubscriptions() {     return this.posubscriptions; }  public void setposubscriptions(list<posubscription> posubscriptions) {     this.posubscriptions = posubscriptions; } 

}

my pick list populating correctly above method public investorsetupbusinessobj() when select 1 bank , save it, gives following exception. appreciated.

stack trace is

javax.el.propertynotfoundexception: /eipo/investorregistration.xhtml @367,59 itemlabel="#{dbanks.name}": property 'name' not found on type java.lang.string @ com.sun.faces.facelets.el.tagvalueexpression.getvalue(tagvalueexpression.java:111) @ javax.faces.component.componentstatehelper.eval(componentstatehelper.java:194) @ org.primefaces.component.picklist.picklist.getitemlabel(picklist.java:130) @ org.primefaces.component.picklist.picklistrenderer.encodeoptions(picklistrenderer.java:226) @ org.primefaces.component.picklist.picklistrenderer.encodelist(picklistrenderer.java:192) @ org.primefaces.component.picklist.picklistrenderer.encodemarkup(picklistrenderer.java:86) @ org.primefaces.component.picklist.picklistrenderer.encodeend(picklistrenderer.java:59) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:877) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1826) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1822) @ org.primefaces.component.panelgrid.panelgridrenderer.encoderow(panelgridrenderer.java:148) @ org.primefaces.component.panelgrid.panelgridrenderer.encodestaticbody(panelgridrenderer.java:110) @ org.primefaces.component.panelgrid.panelgridrenderer.encodebody(panelgridrenderer.java:63) @ org.primefaces.component.panelgrid.panelgridrenderer.encodeend(panelgridrenderer.java:49) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:877) @ org.primefaces.renderkit.corerenderer.renderchild(corerenderer.java:74) @ org.primefaces.renderkit.corerenderer.renderchildren(corerenderer.java:57) @ org.primefaces.component.panel.panelrenderer.encodecontent(panelrenderer.java:204) @ org.primefaces.component.panel.panelrenderer.encodemarkup(panelrenderer.java:121) @ org.primefaces.component.panel.panelrenderer.encodeend(panelrenderer.java:58) @ javax.faces.component.uicomponentbase.encodeend(uicomponentbase.java:877) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1826) @ javax.faces.render.renderer.encodechildren(renderer.java:168) @ javax.faces.component.uicomponentbase.encodechildren(uicomponentbase.java:847) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1819) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1822) @ javax.faces.component.uicomponent.encodeall(uicomponent.java:1822) @ com.sun.faces.application.view.faceletviewhandlingstrategy.renderview(faceletviewhandlingstrategy.java:447) @ com.sun.faces.application.view.multiviewhandler.renderview(multiviewhandler.java:125) @ com.sun.faces.lifecycle.renderresponsephase.execute(renderresponsephase.java:120) @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) @ com.sun.faces.lifecycle.lifecycleimpl.render(lifecycleimpl.java:139) @ javax.faces.webapp.facesservlet.service(facesservlet.java:594) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:171) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:947) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1009) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:589) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:312) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source) 

you must define converter make work, necessary guided in primefaces manual when using picklist :

<p:picklist ... var="dbanks" itemvalue="#{dbanks}" converter="bankconverter" > 

take here : custom converter in jsf 2.0


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -