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")} 这判定用户权限角色为空


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