Freemarker判断对象是否为空
freemarker中显示某对象使用${name}.
但如果name为null,freemarker就会报错。如果需要判断对象是否为空:
<#if name??>
……
</#if>
当然也可以通过设置默认值${name!’’}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示。
对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!’’},表示user或者name为null,都显示为空。判断为空
<#if (user.name)??>
……
</#if>
举例:
@RequestMapping("/freemarker")
public String freemarker(Map<String, Object> map) {
map.put("name", "Joe");
map.put("sex", 1); //sex:性别,1:男;0:女;
// 模拟数据
List<Map<String, Object>> friends = new ArrayList<Map<String, Object>>();
Map<String, Object> friend = new HashMap<String, Object>();
friend.put("name", "xbq");
friend.put("age", 22);
friends.add(friend);
friend = new HashMap<String, Object>();
friend.put("name", "July");
friend.put("class", "一班");
friends.add(friend);
map.put("friends", friends);
return "page/index";
}
<p>
welcome ${name} to freemarker!
</p>
<p>性别:
<#if sex==0>
女
<#elseif sex==1>
男
<#else>
保密
</#if>
</p>
<h4>我的好友:</h4>
<#list friends as item>
姓名:${item.name} ,
<#if (item.age)??> 年龄${item.age}
<#elseif (item.class)??> 班级${item.class}
</#if>
<br>
</#list>
还没有评论,来说两句吧...