博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Freemarker 中的哈希表(Map)和序列(List)
阅读量:5227 次
发布时间:2019-06-14

本文共 1060 字,大约阅读时间需要 3 分钟。

freemarlker中的容器类型有:

  • 哈希表:是实现了TemplateHashModel或者TemplateHashModelEx接口的java对象,经常使用的实现类是SimpleHash,该类实现了TemplateHashModelEx接口。从内部讲它使用一个java.util.Hash类型的对象存储子变量。
  • 序列:是实现了TemplateSequenceModel接口的Java对象。经常使用的实现类是SimpleSequence,该类内部使用一个java.util.List类型的对象存储它的子变量。
  • 集:是实现了TemplateCollectionModel接口的java对象。通常使用的实现类是SimpleCollection。

 

模板文件中哈希表的相关操作:

创建一个map,注意key只能是字符串<#assign testMap={'test1':2335, 'test2':23445}/>获取map中的值${testMap['test1']}获取map长度${testMap?size}获取map的keys<#assign  keys=testMap?keys/>遍历map 首选获取key的集合<#list keys as key>  key:${key}-value:${testMap['${key}']}
直接遍历map的第二种方式<#list testMap?keys as key>  key:${key}--value:${testMap['${key}']}
直接遍历map的values<#list testMap?values as value>  ${value}

  

  

模板文件中序列的相关操作:

第一种定义序列的方式<#assign nums=[1,2,3,4,5,77,8,99]/>获取序列的长度${nums?size}根据索引获取序列中的值${nums[2]}使用list指令遍历序列<#list nums as num>    ${num}    获取当前元素在序列中的索引    ${num_index}
第二种定义序列的方式,定义连续的序列,<#assign nums=12..99/>这种方式定义的序列的内容是12到99,序列还可以进行拆分<#assign nums1=nums[1..10]/>

  

 

转载于:https://www.cnblogs.com/LionheartCGJ/p/7299849.html

你可能感兴趣的文章
转:探讨跨域请求资源的几种方式
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
Android 开发 ThreadPool(线程池) 总结
查看>>
【poj1568】 Find the Winning Move
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
TP框架中的page分页实现
查看>>
[转]跨越千年的RSA算法
查看>>
传奇学者应明生
查看>>
【程序执行原理】
查看>>
第二次项目冲刺(Beta阶段)5.24
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
Dreamweaver cc新版本css单行显示
查看>>
【android】安卓的权限提示及版本相关
查看>>
3D重建的进阶了解---深度图,网格,体素,点云是什么
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>