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包

你可能感兴趣的:(etl)