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