欢迎来到天天文库
浏览记录
ID:45113051
大小:410.00 KB
页数:9页
时间:2019-11-10
《freemarker对null的处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、freemarker对null的处理1提供默认值<#ifmouse?>Mousefound<#else>也可以直接${mouse?if_exists}<#ifuser.age??>//TODO#if>2.忽略null值假设前提:userName为null${userName}error${userName!}空白${userName!'tivon'}tivon假设前提:user.name为null${user.name},异常${(user.name)!},显示空白${user.name!'vakin'},若user.name不为空则显示本身的值,否则显示v
2、akin${user.name?default('vakin')},同上${user.name???string(user.name,'vakin')},同上3list<#listuserListasuser>…#list>List指令还隐含了两个循环变量:user_index:当前迭代项在所有迭代项中的位置,是数字值。user_has_next:用于判断当前迭代项是否是所有迭代项中的最后一项。这2个值也可以控制null或者0的出现。4<#escapexasx!"">#escape>可以对所有的变量进行空值处理,这里是全部替换为空字符串。当然也可以替换为
3、其它字符串。如果其中某些变量不需要这种替换,可以加入<#noescape>#noescape>标签。5这种为全局配置方法配置classic_compatible=true可以满足一般需要。默认情况变量为null则替换为空字符串,如果需要自定义,写上${empty!"EmptyValueoffbysss"}的形式即可a.通过Configuration设置。Configurationcfg=newConfiguration();cfg.setClassicCompatible(true);//设置属性b.通过Eviroment设置。Environmentenv=
4、template.createProcessingEnvironment(root,out);env.setClassicCompatible(true);c.通过ftl设置:在ftl前加入;d.通过Spring配置文件设置5、gs">truee.class目录下添加freemarker.properties文件:加入classic_compatible=true(需要struts2或spring)举一反三,其他属性也可以用类似方法进行设置。补充知识点:Freemarker中对List进行排序通常我们的排序操作都是通过DAO层来实现的,如果我们想随时更改我们的排序,那么就必须修改我们的DAO层代码,确实不方便。但Freemarker为我们提供了这样6、的排序方法,解决了这个问题。1.sort升序排序函数sort对序列(sequence)进行排序,要求序列中的变量必须是:字符串(按首字母排序),数字,日期值。<#listlist?sortasl>…#list>2.sort_by函数sort_by有一个参数,该参数用于指定想要排序的子变量,排序是按照变量对应的值进行排序,如:<#listuserList?sort_by("age")asuser>…#list>age是User对象的属性,排序是按age的值进行的。3.reverse降序排序函数<#listlist?reverseasl>…#list>r7、everse使用同sort相同。reverse还可以同sort_by一起使用如:想让用户按年龄降序排序,那么可以这个样写<#listuserList?sort_by(“age”)?reverseasuser>…#list>
5、gs">truee.class目录下添加freemarker.properties文件:加入classic_compatible=true(需要struts2或spring)举一反三,其他属性也可以用类似方法进行设置。补充知识点:Freemarker中对List进行排序通常我们的排序操作都是通过DAO层来实现的,如果我们想随时更改我们的排序,那么就必须修改我们的DAO层代码,确实不方便。但Freemarker为我们提供了这样
6、的排序方法,解决了这个问题。1.sort升序排序函数sort对序列(sequence)进行排序,要求序列中的变量必须是:字符串(按首字母排序),数字,日期值。<#listlist?sortasl>…#list>2.sort_by函数sort_by有一个参数,该参数用于指定想要排序的子变量,排序是按照变量对应的值进行排序,如:<#listuserList?sort_by("age")asuser>…#list>age是User对象的属性,排序是按age的值进行的。3.reverse降序排序函数<#listlist?reverseasl>…#list>r
7、everse使用同sort相同。reverse还可以同sort_by一起使用如:想让用户按年龄降序排序,那么可以这个样写<#listuserList?sort_by(“age”)?reverseasuser>…#list>
此文档下载收益归作者所有