示例代码:
静态文本段 ${item.price} ${item.price ?: 0.0d} ${item.date, 'yyyy-MM-dd'} <!--[ echo(表达式运算结果); echo(日期类型表达式运算结果, 'yyyy-MM-dd'); ]-->
注意事项:
1、在<!--[ ]-->代码段外部可以直接书写文本段,这类文本段是静态文本段; 静态文本段可以被预先压缩、预先转化为byte数组等,用以提升Bsl的渲染速度; 2、在<!--[ ]-->代码段外部可以直接书写占位符,这类文本段是动态文本段; 占位符有两种,一种直接输出(一参数),一种是格式化输出(两参数,第二参数为格式化串); 目前默认提供日期格式化、数字格式化两种格式化方式; 3、在<!--[ ]--> ${ }内的表达式可以使用三元条件表达式的二元false状态书写方式来实现安全输出; 如${item.price ?: 0.0d}, echo(item.price ?: 0.0d);意思是如果item.price为空则输出浮点数0.0; 具体表达式写法请参考表达式运算; 4、在<!--[ ]-->代码段内部可以使用echo方法输出表达式运算结果,这类文本段是动态文本段; echo有两种,一种直接输出(一参数),一种是格式化输出(两参数,第二参数为格式化串); 目前默认提供日期格式化、数字格式化两种格式化方式; 动态文本段是不能被预先压缩的,即使压缩也很容易造成性能BUG,在此Bsl没有默认实现动态文本压缩; 另外动态文本段也只能在运行时转换编码,令人振奋的是Bsl在转换编码方面提供了自己的专用编码器,速度高于JDK默认的;