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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号