freemarker中的null異常處理以及!與??、?exists的使用

假設user對象中我們有個角色(role)對象,那麼我們可以通過${user.role.rolename}獲取當前用戶的角色名稱問題來了當role沒有賦值的時候,在jsp中${}表達式會直接忽略不顯示,而freemarker會報異常,還是一大堆,freemarker就需要您手動去處理如:${user.role!"用戶無角色"}

而當您寫成這樣的時候:獲取當前用戶的角色:${user.role.rolename!}而role任然沒值的時候依然會報錯,

而正確的方式獲取當前用戶的角色:${(user.role.rolename)!}

?? 用於判斷是否爲空

<#if user.role??>或者<#if user.role?exists>

當前用戶沒有權限角色

<#else>

當前用戶有權限角色

</#if>

${user.role???string}這裏將結果以字符串的形式輸出:true 或者false

${user.role???string("YES","NO")} 這判定用戶權限角色爲空


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章