jfnal前端页面取值问题

今天看一个jfinal框架写的代码,出现这么一个用法:
后台跳转:
setAttr("course", course);
render("course.html");

course.html文件里出现这么一句话

${(course.name)!}
对于后面这个取值的语句看不懂,如果这是EL表达式的话怎么后面还有"!"呢?而且EL表达式应该是jsp页面里用的啊?
看文档说取值的表达式应该是 "#()"。
还请懂的人赐教。这个用法对不对?是什么意思?

JFinal默认使用的是FreeMarker作为视图的,${}是FreeMarker的表达式,加感叹号是为了防止对象不存在报错,页面什么也不输出