浏览 1209 次
锁定老帖子 主题:beetl1.1 提供的安全输出总结
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-03
模板引擎往往在渲染模板的时候,变量往往不是预期值,如变量为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包 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |