freemarker 自己常用方法

本文介绍了一组Freemarker模板中自定义的实用函数,包括字符有效性判断、日期格式化、字符串截取、从Map中获取数据及URL构建等。这些函数能够帮助开发者更高效地处理常见的网页生成需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<#--
判断字符是否为null或者""
-->
<#function isCZ text="">
	<#if text=="" || !text??>
		<#return false>
	<#else>
		<#return true>
	</#if>
</#function>
<#--
时间日期格式化
格式为:yyyy-MM-dd hh:mm
-->
<#function dateFormartTime date>
 <#if date?exists>
 <#return date?string("yyyy-MM-dd hh:mm")>
 <#else>
 <#return "时间为空!">
 </#if>
</#function>
<#--
 字符合理长度截取,传入字符小于截取位置将返回
原字符,大于将截取字符串
@param txt 需要截取的字符串
@param size 截取字符串的长度
-->
<#function sb txt='' size=0>
 <#if txt?exists>
 <#if (txt?length>size)>
 <#return txt?substring(0,size)>
 <#else>
 <#return txt>
 </#if>
 <#else>
 <#return "">
 </#if>
</#function>
<#-- 
 @auther loowj 2012-12-12
 @Param map 数据Map
 @Param 获取的key
 @Param position 传入则代表key传入取的是list,取position位置上的元素
 -->
<#function getMapDataByKey map key position="null">
 <#if map[key]??>
 <#assign list = map[key]![]>
 <#if position != "null">
 <#list list as obj>
 <#if obj_index == position>
 <#return obj>
 </#if>
 </#list>
 <#return {}> 
 </#if>
 <#return list> 
 <#else>
 <#return {}> 
 </#if>
</#function>
<#--
最大支持5个占位符替换的模板
-->
<#function urlBuild a b c d e f='' urlTemplate="{a}.{b}.{c}/{d}-{e}/">
 <#assign tempUrl= urlTemplate>
 <#if isCZ(a)>
 <#assign tempUrl=tempUrl?replace("{a}",a)>
 </#if>
 <#if isCZ(b)>
 <#assign tempUrl=tempUrl?replace("{b}",b)>
 </#if>
 <#if isCZ(c)>
 <#assign tempUrl=tempUrl?replace("{c}",c)>
 </#if>
 <#if isCZ(d)>
 <#assign tempUrl=tempUrl?replace("{d}",d)>
 </#if>
 <#if isCZ(e)>
 <#assign tempUrl=tempUrl?replace("{e}",e)>
 </#if>
 <#if isCZ(f)>
 <#assign tempUrl=tempUrl?replace("{f}",f)>
 </#if>
 <#return tempUrl>
</#function>

转载于:https://my.oschina.net/wjgood/blog/101019

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值