jsf 2 - retrive value from collection and show in datatable -


i want show language in view_lang.xhtml using datatable,below classes

countrybean.java

private arraylist<country> existingcountrylist; public arraylist<country> getexistingcountrylist() {       system.out.println("countrybean.getexistingcountrylist::enter");           existingcountrylist = new arraylist<country>();         existingcountrylist.addall(getcountryservice().getexistingcountry());         system.out.println("existingcountrylist in countrybean"+existingcountrylist);         system.out.println("countrybean.getexistingcountrylist:::exit");  return existingcountrylist;   } 

country.java

private set<countrylanguage> countrylanguage = new hashset<countrylanguage>(0); 

countrylanguage.java

private countrylanguageid countrylangpk = new countrylanguageid(); 

countrylanguageid.java

private country country; private language language; 

view_lang.xhtml

<h:datatable id="existingcountry" var="countrylang" value="#{countrybean.existingcountrylist}"         style="width: 100%"  cellpadding="0"  cellspacing="1" border="0" class="role_detail_section" rowclasses="activity_white, activity_blue">      <h:column>             <f:facet name="header">                 <h:outputtext value="language(code)" styleclass="heading_pm_det_white"/>             </f:facet>                <h:outputtext value="#{countrylang.languagename}(#{countrylang.languagecode})" styleclass="heading_pm_det_white" />         </h:column>      </h:datatable> 

i able country object language not able print in datatabel. syntex have use foreach, if yes how. thnx

you can use <ui:repeat> this, doesn't support set (because it's not ordered index). need convert list or array. if you're using el 2.2, use set#toarray() call directly in el:

<ui:repeat value="#{countrylang.countrylanguage.toarray()}" var="countrylanguage">     ... </ui:repeat> 

update, per comments, you'd ot print comma separated, here's how it:

<ui:repeat value="#{countrylanguage.language.languagename}" var="languagename" varstatus="loop">     #{languagename}#{loop.last ? '' : ', '} </ui:repeat> 

note: if languagename set instead of list, use toarray() there.


Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -