beetl1.1 提供的安全输出总结
模板引擎往往在渲染模板的时候,变量往往不是预期值,如变量为null,引擎的空指针异常从而导致页面输出异常。beetl提供了一些安全输出。如下:
占位符异常,用于占位符
${!(user.name)} ,在占位符号使用!() ,括号里面出现异常,则不作任何输出
Missing Value,用于占位符
${user.wife.name!"N/A"} 如果user为空,或者 wife为空,则输出!后面的字符串
循环
在集合中,如果循环为空,则导致异常,可以在集合后面加上!表示如果集合为空,则忽略循环体,不作循环
<%for(user in list!){%>
循环体.................
<%}%>
可以看到模板的预编译代码如下:
if(list!=null){
int user_index = 0;
int user_size = list.size();
for(User user : list){
out.write(user_index);
out.write(__V0);
out.write(user.getName());
out.write(__VCR);
user_index++;
}
}
详细可以访问 http://beetl.sourceforge.net/,并下载最新jar包
猜你喜欢
转载自javamonkey.iteye.com/blog/1473601
今日推荐
周排行