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

<#list var as map>
<tr>
 <#list map?keys as itemKey> //关键点
    <#if itemKey="fieldLabel" && map[‘type‘] == "text" >
     <td >${map[itemKey]}</td>
    </#if>
    <#if itemKey="java_lang_String" && map[‘type‘] == "text">
         <td >${map[itemKey]}</td>
    </#if>
   
   <#if itemKey="fieldLabel" &&  map[‘type‘] == "file">
     <td  >${map[‘fieldLabel‘]}</td>
   </#if>
    <#if itemKey="java_io_file" && map[‘type‘] == "file">
        <td >
      <#list "${map[itemKey]}"?split(",") as x>  //使用split函数,等同于java中的split函数
        <a href="FlowDownServlet?fileName=${x}">${x}</a>
      </#list>
    </td>
    </#if>
    </#list>
  <#if  map[‘type‘] == "select">
   <td  >${map[‘fieldLabel‘]}</td>
   <td >
   <#list form.fields as field>
    <#if field.fieldInput.type == "select">
     <select name="props[‘${field.fieldName}‘]">
   <#list field.items as item>
     <option <#if map[‘java_lang_String‘] == item.value>selected</#if> value="${item.value}">${item.label}</option>
   </#list>
    </select>
   </#if>
  </#list>
  </td> 
  </#if>
  
</tr>

</#list>

后台传递过来的数据

List<LinkedHashMap<String,Object>> var = SubmitManager.getInstance().getProperty(documentId);
rootMap.put("var", var);
template.process(rootMap, out);

原文出处http://blog.csdn.net/lsh6688/article/details/17091277

时间: 2024-10-10 23:56:07

freemarker中遍历list<map<String,String>>的相关文章

Java中遍历Map对象

下面列出一些最常用的Java遍历Map对象的方法 1.在for-each中使用entrySet遍历 这是最常用的遍历方式.在键值都需要时使用. Map<String,String> map = new HashMap<String,String>(); for(Map.Entry<String, String> entry : map.entrySet()){ System.out.println(entry.getKey()+" : "+entry

Java中遍历ConcurrentHashMap的四种方式

//方式一:在for-each循环中使用entries来遍历 System.out.println("方式一:在for-each循环中使用entries来遍历"); for(Map.Entry<String, String> entry: map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

Struts2标签遍历List&lt;Map&lt;String, String&gt;&gt;

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private List<Map<String, String>> list; @Override

JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换工具类(调优)

原文链接:http://blog.csdn.net/qq7342272/article/details/6830907#comments 调试时出现bug,在String中包含list嵌套或map嵌套时会出现字符串下标越界异常,原因是split分割时会出现""字符串,此时引用str.charAt(0)会抛出该异常,如图: 优化代码,经调试暂时解决String中2层嵌套list转换,如下: 1 package test; 2 3 import java.util.ArrayList; 4

如何过滤List&lt;Map&lt;String,Object&gt;&gt; 中的重复Map

最近遇到一个问题,就是如何过滤一个List<Map<String,Object>> 中重复的Map,废话不多说,直接上代码. //去除重复的Map //cfArraylist 表示重复的 List<Map<String,Object>> //listMap 表示去重复数据后的 List<Map<String,Object>> Map<String, Map> msp = new HashMap<String, Map

分页查询和分页缓存查询,List&lt;Map&lt;String, Object&gt;&gt;遍历和Map遍历

分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = page * limit; sql = "select * from (select fulltable.*, ROWNUM RN from (" + sql + ") fulltable where ROWNUM <= " + end + ") where

Map&lt;String, String&gt; 遍历的四种方法

Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Ma

关于在freemarker模板中遍历数据模型List&lt;JavaBean&gt;的经验

本文采用简单的servlet作为后台处理数据的工具,前台使用freemarker的ftl模板作为输出工具,简单说明怎样将封装有实体类对象的List集合注入到ftl模板中并且成功的在遍历显示出来,之前在网上找了很多这方面的资料,但是都没有解决这个问题,所以自己就从头认真的研读的一番freemarker的API文档,阅读了相关的类和接口的功能说明,终于找到了突破口,在这里写出来供和我有相同经历的孩纸(初学者)使用: 首先看我写的domain实体类:News.java public class New

java 中遍历Map的几种方法

转自: http://blog.csdn.net/wzb56/article/details/7864911 方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基于map的key:map.keySet() 而每一类都有两种遍历方式: a.利用迭代器 iterator: b.利用for-each循环: 代码举例如下 package cn.wzb; import java.util.ArrayList; import java.util.HashMap; impor