
freemarker判断对象是否为空的方法

FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。
freemarker中显示某对象使用${name}.
但如果name为null,freemarker就会报错。如果需要判断对象是否为空:
<#if name??> …… </#if>
当然也可以通过设置默认值${name!''}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。
对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!''},表示user或者name为null,都显示为空。
判断为空
<#if (user.name)??> …… </#if>
方法二:
对于null,或者miss value,freemarker会报错
!:default value operator,语法结构为:unsafe_expr!default_expr,比如 ${mouse!"No mouse."} 当mouse不存在时,返回default value;
(product.color)!"red" 这种方式,能够处理product或者color为miss value的情况;
而product.color!"red"将只处理color为miss value的情况
??: Missing value test operator ,测试是否为missing value
unsafe_expr?? :product.color??将只测试color是否为null
(unsafe_expr)??:(product.color)??将测试product和color是否存在null
?exists:旧版本的用法
比如:
<#if mouse??> Mouse found <#else> No mouse found </#if> Creating mouse... <#assign mouse = "Jerry"> <#if mouse??> Mouse found <#else> No mouse found </#if>
以上通过两种方法介绍了freemarker判断对象是否为空的方法,希望大家喜欢。
相关推荐
-
Eclipse安装Free marker插件教程
安装freemarkEditor 插件,代码高亮 在线安装freemarkEditor 插件 1.工具栏–帮助-安装新软件 2.点击添加,如图 3.输入地址:http://download.jboss.org/jbosstools/updates/development/indigo/,如图 4.点击确定,选中如图的选项, 5.更改文件 打开方式 windows ==> preferences ==> General ==> Editors ==> file Association
-
Freemarker 最简单的例子程序
Freemarker 最简单的例子程序 freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/project/freemarker/freemarker/2.3.18/freemarker-2.3.18.tar.gz freemarker-2.3.13.jar: 链接: http://pan.baidu.com/s/1eQVl9Zk 密码: izs5 1.通过String来创建模版对象,并执行插值处理 执行后,控制台
-
Java模版引擎Freemarker
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 FreeMarker与容器无关,因为它并不知道HTTP或Servlet:FreeMarker同
-
FreeMarker配置(Configuration)
p> 基础 Configuration 是一个存放应用级别(application level)公共配置信息,以及模版(Template)可使用的全局共享变量的一个对象.同时它还负责模版(Template)实例的创建以及缓存.Configuration 实际上是freemarker.template.Configuration 对象的实例,使用其构造函数创建.通常应用使用一个共享的单实例Configuration 对象. Configuration 对象可被Template 对象的方法使用,每一
-
java Spring整合Freemarker的详细步骤
我的開發環境框架:springmvc開發工具:springsource-tool-suite-2.9.0版本:1.6.0_29tomcat版本:apache-tomcat-7.0.26前言:FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等.簡而言之,Freemarker就是在Jave Web開發
-
基于Java的Spring框架来操作FreeMarker模板的示例
1.通过String来创建模版对象,并执行插值处理 import freemarker.template.Template; import java.io.OutputStreamWriter; import java.io.StringReader; import java.util.HashMap; import java.util.Map; /** * Freemarker最简单的例子 * * @author leizhimin 11-11-17 上午10:32 */ public cla
-
Java用freemarker导出word实用示例
最近一个项目要导出word文档,折腾老半天,发现还是用freemarker的模板来搞比较方便省事,现总结一下关键步骤,供大家参考,这里是一个简单的试卷生成例子. 一.模板的制作 先用Word做一个模板,如下图: (注意,上面是有表格的,我设置了边框不可见)然后另存为XML文件,之后用工具打开这个xml文件,有人用firstobject XML Editor感觉还不如notepad++,我这里用notepad++,主要是有高亮显示,和元素自动配对,效果如下: 上面黑色的地方基本是我们之后要替换的地
-
Java操作FreeMarker模板引擎的基本用法示例小结
FreeMarker 是一个采用 Java 开发的模版引擎,是一个基于模版生成文本的通用工具. 它被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序.虽然使用FreeMarker需要具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由 FreeMarker 生成页面,并通过模板显示准备的数据. http://freemarker.org/ public void process(String template, Map<String, ?> data) th
-
Freemarker常用指令使用示例
我的开发环境框架:springmvc+freemarker开发工具:springsource-tool-suite-2.9.0JDK版本:1.6.0_29tomcat版本:apache-tomcat-7.0.26 step1.编写controller文件,代码如下: 复制代码 代码如下: package www.asuan.com.controller; import java.util.ArrayList;import java.util.Date;import java.util.HashM
-
使用Java进行FreeMarker的web模板开发的基础教程
一.概述 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写,FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序,虽然 FreeMarker 具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由FreeMarker 生成页面,通过模板显示准备的数据(如下图) FreeMarker 不是一个 Web 应用框架,而适合作为 Web 应用框架一个组件.FreeMarker 与容器无关,因为它并不知道
随机推荐
- oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
- mongoose设置unique不生效问题的解决及如何移除unique的限制
- asp+Ajax简单客户登陆验证
- python人人网登录应用实例
- ios多种语言的本地化思路
- ASP.NET 跨页面传值方法
- JavaScript OOP类与继承
- Android实现仿微信tab高亮icon粘着手的滑动效果
- MySQL数据库卸载的完整步骤
- Android 中 onSaveInstanceState()使用方法详解
- 在Visual Studio上构建C++的GUI框架wxWidgets的开发环境
- executesql 存储过程
- 基于dom编程中 动态创建与删除元素的使用
- ETag使用效果对比及ETag配置图文教程
- JSONObject使用方法详解
- Android界面切换出现短暂黑屏的解决方法
- 高吞吐、线程安全的LRU缓存详解
- Es6 Generator函数详细解析
- numpy linalg模块的具体使用方法
- vue的滚动条插件实现代码
其他
- vue 动态设置div按钮不可点击
- vue监听某个dom渲染结束
- springboot 读取本地excel文件 返回前端文件流
- PHP session丢失
- Python从数据库读取大量数据批量写入文件
- iOs 多页面同步刷新
- Django 修復 migrations
- php fopen函数的用法
- python调用vb的dll
- mysql MySql 不存在则插入
- vue项目禁用缓存 iis
- java多线程执行不同任务的方法
- vue3 ECharts 中国地图 点击提示
- JavaScript 歌词播放器
- vue 子组件传值 丢失
- python提取txt文本的某一列,并重塑矩阵
- android studio国内下载镜像
- java 怎么导入lambok.jar包
- redis实现订单超时自动取消
- NGINX 字体跨域