freemarker中遍历list

<#list var as map>

	<#list map?keys as itemKey> //关键点
			 <#if itemKey="fieldLabel" && map['type'] == "text" >
					${map[itemKey]}
			 
			 <#if itemKey="java_lang_String" && map['type'] == "text">
			     	${map[itemKey]}
			 
			
			<#if itemKey="fieldLabel" &&  map['type'] == "file">
			 	${map['fieldLabel']}
			
			 <#if itemKey="java_io_file" && map['type'] == "file">
			     
			 		<#list "${map[itemKey]}"?split(",") as x>  //使用split函数,等同于java中的split函数
			 			 ${x}
			 		
				
			 
    
	 <#if  map['type'] == "select">
	 	${map['fieldLabel']}
	 	
		 <#list form.fields as field>
		 	<#if field.fieldInput.type == "select">
			 	
			
		
			
	 
	  


后台传递过来的数据

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


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

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



你可能感兴趣的:(freemarker中遍历list)