EL表达式${name}和${name!}有什么区别?

用${name}取值在freemarker里就会报错
Tip: If the failing expression is known to be legally null/missing, either s
用${name!}取值就不报错,请问这两个写法有什么区别?

${name!}类似于 不为空的判断

一般都是后台定义的返回参数是什么EL中就写什么,你这是不是因为后台定义的参数名称就是name!,所以找不到name

&& 或者 and, 例如:${false && false} 或者 ${false and false }
|| 或者 or, 例如:${true || false} 或者 ${true or false }
! 或者 not,例如:${!true}(相当于${false}) 或者 ${not true }
http://blog.csdn.net/q542928492/article/details/46500437

http://blog.csdn.net/zhangzeyuaaa/article/details/45419351