freemarker判斷對象是否為空的方法
FreeMarker與Web容器無關(guān),即在Web運行時,它并不知道Servlet或HTTP。它不僅可以用作表現(xiàn)層的實現(xiàn)技術(shù),而且還可以用于生成XML,JSP或Java 等。
freemarker中顯示某對象使用${name}.
但如果name為null,freemarker就會報錯。如果需要判斷對象是否為空:
<#if name??> …… </#if>
當然也可以通過設(shè)置默認值${name!''}來避免對象為空的錯誤。如果name為空,就以默認值(“!”后的字符)顯示。
對象user,name為user的屬性的情況,user,name都有可能為空,那么可以寫成${(user.name)!''},表示user或者name為null,都顯示為空。
判斷為空
<#if (user.name)??> …… </#if>
方法二:
對于null,或者miss value,freemarker會報錯
!:default value operator,語法結(jié)構(gòu)為: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判斷對象是否為空的方法,希望大家喜歡。
相關(guān)文章
JavaScript中“過于”犀利地for/in循環(huán)使用示例
Java中的增強for循環(huán)很是好用,但是JavaScript中為我們提供的for/in循環(huán)已然不是這么簡單了,下面有個簡單的示例,大家不妨參考下2013-10-10你不知道的 TypeScript 高級類型(小結(jié))
這篇文章主要介紹了你不知道的 TypeScript 高級類型(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08javascript實現(xiàn)數(shù)據(jù)雙向綁定的三種方式小結(jié)
本篇文章主要介紹了javascript實現(xiàn)數(shù)據(jù)雙向綁定的三種方式小結(jié),前端的視圖層和數(shù)據(jù)層有時需要實現(xiàn)雙向綁定,目前實現(xiàn)數(shù)據(jù)雙向綁定主要有三種,有興趣的可以了解一下。2017-03-03uni?app跨端自定義指令實現(xiàn)按鈕權(quán)限
這篇文章主要為大家介紹了uni?app跨端自定義指令實現(xiàn)按鈕權(quán)限詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12