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, uirepeat
class 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