您的位置:首页 > 其它

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

2015-07-22 11:22 549 查看
转自:http://blog.csdn.net/lsh6688/article/details/17091277

<#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>

后台传递过来的数据

[java] view
plaincopy





List<LinkedHashMap<String,Object>> var = SubmitManager.getInstance().getProperty(documentId);

rootMap.put("var", var);

template.process(rootMap, out);

以前使用freemarker没有理解它的作用,现在有了进一步的了解,它其实和jstl一样,也是一套页面标签函数,这样就回答了一些人的疑问,想在freemarker中使用jstl,其实freemarker完全能满足jstl的功能.只不过它有自己的语法,不能直接获取页面request中的参数而已.学习一定要深入理解,反复实践才行.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: