Freemarker 判断字符串为空

本文将介绍怎样在 Freemarker 中判断字符串是否为 null 或者为空字符串 ""。

我们通过一个实例来进行介绍,假如你的服务端代码返回这么一个 Map 对象:

Map<String,String> sysInfo = new HashMap<String,String>();
sysInfo.put("name", "人人编程网");
sysInfo.put("url", "https://www.hxstrive.com");
sysInfo.put("version",  null);

Freemarker 模板代码如下:

<#if sysInfo.version??>
    <div>系统版本:${sysInfo.version}</div>
</#if>

上面代码运行正常,“<div>系统版本:${sysInfo.version}</div>”代码并没有被输出。如果 version 为一个空字符串("")呢?<#if sysInfo.version??>语句将返回 true,输出 <div>系统版本:${sysInfo.version}</div>”代码。

那么怎样在 Freemarker 中判断某个变量是否为 null,是否为空字符串(还包含仅仅只有空格的字符串)呢?

我们可以结合 Freemarker 的“”设置默认值,然后使用“”函数去掉字符串首尾的空白字符,利用“”函数获取字符串的长度。如果长度大于0,则执行 <#if> 语句内部的代码。完整实例如下:

Map<String,String> sysInfo = new HashMap<String,String>();
sysInfo.put("name", "人人编程网");
sysInfo.put("url", "https://www.hxstrive.com");
sysInfo.put("version",  "");

Freemarker 模板代码如下:

<#if sysInfo.version?default("")?default("")?trim?length gt 1>
    <div>系统版本:${sysInfo.version}</div>
</#if>

到这里就介绍完了…………希望能帮助到你!!

与肝胆人共事,无字句处读书。——周恩来
3 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号