1. 程式人生 > >freemarker中的null異常處理以及!與??、?exists的使用

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")} 這判定使用者許可權角色為空