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

原创 2013年12月03日 10:05:54
<#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);


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

最后留个疑问,我为什么要用LinkedHashMap呢?有什么好处吗?



版权声明:本文为博主原创文章,未经博主允许不得转载。

关于freemarker中循环list中的map问题

1.从List集合取一个Map集 例如: Java代码: List list = new ArrayList(); Map map1 = new HashMap(); map1.pu...
  • u011257574
  • u011257574
  • 2015年04月20日 09:54
  • 8451

freemarker 标签循环list 以及获取下标值

${item_index?if_exists+1}//获取循环下标值,默认是从0开始的.           ${item.userName?if_exists}...
  • feiyun72
  • feiyun72
  • 2012年09月10日 12:53
  • 18823

freemarker循环Map<String,List<User>>对象

java代码 Map> mapListUser = transformationData(listUser); mav.addObject("mapListUser", mapListUser)...
  • yueyeqingshan
  • yueyeqingshan
  • 2016年10月27日 11:05
  • 475

freemarker map 中 嵌套list的例子

Action    MapString,List> kindsMap = new HashMapString,List>();    List aList = new ArrayList(...
  • qq_24084925
  • qq_24084925
  • 2017年02月15日 11:33
  • 1479

Freemarker <#list List/Map/Array[] as Object>

Freemarker 的使用
  • Ani521smile
  • Ani521smile
  • 2016年08月09日 17:09
  • 1918

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

转自:http://blog.csdn.net/lsh6688/article/details/17091277 #list var as map>   tr>       #l...
  • xyy511
  • xyy511
  • 2015年07月22日 11:22
  • 463

freemarker迭代list、map等常规操作

一、controller开始准备模型、数据 1.po类 package com.hbut.ssm.po; /** * pojo类 * */ public class Children { ...
  • wickedvalley
  • wickedvalley
  • 2017年03月25日 16:01
  • 2501

freemarker循环获取list中map的值

1.数据结构 List> mapList = Lists.newArrayList(); Long originalOrderId = returnObj.getOriginalOrderId(); ...
  • Nightliar
  • Nightliar
  • 2017年05月02日 11:02
  • 837

freeMarker 遍历 list,map,list<map>

List List clientSourceData=new ArrayList(); clientSourceData.add("field字段"); clientSourceData.a...
  • zengmingen
  • zengmingen
  • 2016年07月25日 16:54
  • 6616

freemarker遍历Map类型

用freemarker模板写web的页面.需要遍历Controller层action传来的hashmap对象.javaaction代码public ModelAndView func(){ M...
  • qq1332479771
  • qq1332479771
  • 2016年12月06日 23:18
  • 3545
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:freemarker中遍历list<map<String,String>>
举报原因:
原因补充:

(最多只允许输入30个字)