freemarker递归显示树形列表

Java代码  

  1. <#macro buildNode childs>  

  2.     <#if childs?? && childs?size gt 0>  

  3.         <#list childs as child>  

  4.             <option value="${child.model.id}" label="<#list 1..depth as i>&nbsp;&nbsp;&nbsp;&nbsp;</#list>${(child.model.typeName)?if_exists}">  

  5.                 <#list 1..depth as i>&nbsp;&nbsp;&nbsp;&nbsp;</#list>${(child.model.typeName)?if_exists}  

  6.             </option>  

  7.             <#assign depth = depth + 1 />  

  8.             <@buildNode childs=child.childs />  

  9.             <#assign depth = depth - 1 />  

  10.         </#list>  

  11.     </#if>  

  12. </#macro>  



Java代码  

  1. <#assign depth = 1 />  

  2. <select name="model.typeId">  

  3. <#list typeList as typeDomain>  

  4.     <option value="${typeDomain.model.id}" label="${(typeDomain.model.typeName)?if_exists}">  

  5.         ${(typeDomain.model.typeName)?if_exists}  

  6.     </option>  

  7.                 <@buildNode childs=typeDomain.childs />  

  8. </#list>  

  9. </select> 


你可能感兴趣的:(freemarker递归显示树形列表)