freemarker中遍历list<map<String,String>>

转自:http://blog.csdn.net/lsh6688/article/details/17091277

  1. <#list var as map>  
  2. <tr>  
  3.     <#list map?keys as itemKey> //关键点  
  4.              <#if itemKey="fieldLabel" && map['type'] == "text" >  
  5.                     <td >${map[itemKey]}</td>  
  6.              </#if>  
  7.              <#if itemKey="java_lang_String" && map['type'] == "text">  
  8.                     <td >${map[itemKey]}</td>  
  9.              </#if>  
  10.               
  11.             <#if itemKey="fieldLabel" &&  map['type'] == "file">  
  12.                 <td  >${map['fieldLabel']}</td>  
  13.             </#if>  
  14.              <#if itemKey="java_io_file" && map['type'] == "file">  
  15.                  <td >  
  16.                     <#list "${map[itemKey]}"?split(",") as x>  //使用split函数,等同于java中的split函数  
  17.                          <a href="FlowDownServlet?fileName=${x}">${x}</a>  
  18.                     </#list>  
  19.                 </td>  
  20.              </#if>  
  21.     </#list>  
  22.      <#if  map['type'] == "select">  
  23.         <td  >${map['fieldLabel']}</td>  
  24.         <td >  
  25.          <#list form.fields as field>  
  26.             <#if field.fieldInput.type == "select">  
  27.                 <select name="props['${field.fieldName}']">  
  28.             <#list field.items as item>  
  29.                     <option <#if map['java_lang_String'] == item.value>selected</#if> value="${item.value}">${item.label}</option>  
  30.             </#list>  
  31.                 </select>  
  32.             </#if>  
  33.         </#list>  
  34.         </td>   
  35.      </#if>  
  36.         
  37. </tr>  
  38.   
  39. </#list>  

后台传递过来的数据

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. List<LinkedHashMap<String,Object>> var = SubmitManager.getInstance().getProperty(documentId);  
  2. rootMap.put("var", var);  
  3. template.process(rootMap, out);  


以前使用freemarker没有理解它的作用,现在有了进一步的了解,它其实和jstl一样,也是一套页面标签函数,这样就回答了一些人的疑问,想在freemarker中使用jstl,其实freemarker完全能满足jstl的功能.只不过它有自己的语法,不能直接获取页面request中的参数而已.学习一定要深入理解,反复实践才行.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值