Monday 15 June 2015

parameter passing - JSF ui:repeat in ui:repeat with dynamically assigned var-value -



parameter passing - JSF ui:repeat in ui:repeat with dynamically assigned var-value -

we created jsf table component our projects uses <ui:repeat> create table. new requirement add together table within table (the sec table resides in row , collapsable) has gotten problem <ui:repeat var="row" ...> set statically within table componenten , inner table uses row variable of outer table when iterating through list. want create this:

<div> <myfw:mytable datamodel="#{bean.user}" varname="user" ...> <myfw:mycolumn value="#{user.name}"/> <myfw:myexpendablecolumn> <myfw:mytable datamodel="#{bean.acl}" varname="acl" ...> <myfw:mycolumn value="#{acl.name}"/> </myfw:mytable> </myfw:myexpendablecolumn> </myfw:mytable> </div>

in table component var attribute should set ...

<composite:interface> ... <composite:attribute name="varname" required="false" type="java.lang.string" default="row" /> </composite:interface> <composite:implementation> ... <ui:repeat var="#{varname}" value="#{cc.attrs.datamodel.wrappeddata}" varstatus="loop"> <div class="floating_table_row"> <composite:insertchildren /> </div> </ui:repeat> </composite:implementation>

... sadly, not work. i've tried <c:foreach> result same, values of columns empty , no info shown. there way dynamically set var attribut of <ui:repeat>?

after farther research stumbled on page https://java.net/jira/browse/facelets-372 uirepeat class, getvar method modified access valueexpression instead of

public string getvar() { homecoming this.var; }

... method looks this:

public string getvar() { if (this.var != null) { homecoming this.var; } valueexpression ve = this.getvalueexpression("var"); if (ve != null) { homecoming (string) ve.getvalue(getfacescontext().getelcontext()); } homecoming null; }

there farther modifications in attached file https://java.net/jira/browse/facelets-372. sadly, uirepeatclass cannot extended because of usage of var attribute in private methods have <myfw:repeat> utilises patched uirepeat class page.

jsf parameter-passing repeat composite-component uirepeat

No comments:

Post a Comment