一、freemarker判断list为空的办法有如下几种:
<#list xxList as itme>
1、<#if itme[0]?exists>
2、<#if itme?has_content>
3、<#if itme[0]??>
二、截取字符串长度:
有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的列子就可以自定义显示的长度
< lt. <= lte. > gt. >= gte
<#if jstbqkVO.gzdd?length lt 8>
<a>${jstbqkVO.gzdd?default("")}</a>
<#else>
<a title="${jstbqkVO.gzdd}">${jstbqkVO.gzdd[0..3]?default("")}...</a>
</#IF>
意思就是如果这个字符串的长度小于8,那么就正常显示,反之则取4位
三、 Freemarker中对List进行排序
通常我们的排序操作都是通过DAO层来实现的,如果我们想随时更改我们的排序,那么就必须修改我们的DAO层代码,确实不方便。但Freemarker为我们提供了这样的排序方法,解决了这个问题。
1. sort升序排序函数
sort对序列(sequence)进行排序,要求序列中的变量必须是:字符串(按首字母排序),数字,日期值。
<#list list?sort as l>…</#list>
2. sort_by函数
sort_by有一个参数,该参数用于指定想要排序的子变量,排序是按照变量对应的值进行排序,如:
<#list userList?sort_by(“age”) as user>…</#list>
age是User对象的属性,排序是按age的值进行的。
3. reverse降序排序函数
<#list list? reverse as l>…</#list>
reverse使用同sort相同。reverse还可以同sort_by一起使用
如:想让用户按年龄降序排序,那么可以这个样写<#list userList?sort_by(“age”)?reverse as user>…</#list>
分享到:
相关推荐
多个文件服务器读写,这里可采用SMB协议 页面静态化,可采用freemarker开源框架 如果考虑到大量的读写请求,则将请求分布式或采用调度的办法来解决 第一点我们首先应该考虑文件服务器与静态页面的映射关系,即什么...
* 使用 freemarker 模板引擎或 servlet filter:首页可以采用 freemarker 模板引擎或 servlet filter 生成纯静态页面并保存到文件系统中,请求首页时先判断文件系统中是否存在首页的静态文件,存在则执行跳转,不存...
3. **灵活的视图技术**:不仅限于JSP,支持多种视图技术,如Thymeleaf、FreeMarker等。 4. **请求资源映射策略**:支持多种映射策略,适应不同的URL设计需求。 5. **可扩展性**:框架设计允许轻松添加新功能和扩展已...
- 常见问题解答:列举了一些在使用过程中可能遇到的问题及解决办法。 2. **132688861102480150**:此文件名看起来像是一个随机生成的数字串,但根据上下文,它可能是框架的一部分,例如一个数据库文件、jar包或者...
它集成了大量的常用第三方库配置,如JPA、Thymeleaf、FreeMarker、Velocity、MVC等,通过“约定优于配置”的方式,极大地提高了开发效率。在这个项目中,SpringBoot用于处理HTTP请求,提供RESTful API,实现业务逻辑...
通过这个过程,读者将了解到这三种框架的基本配置、集成方法以及常见问题的解决办法。 #### 一、项目创建与初始化 **1. 创建Web项目:** - 在MyEclipse中创建一个新的Web项目,命名为`Test_struts`。 - 选择合适...
- **视图渲染**:Thymeleaf、FreeMarker等模板引擎用于页面渲染。 #### Mybatis框架 - **ORM映射**:将数据库表与Java对象进行映射,简化数据访问逻辑。 - **动态SQL**:支持在XML映射文件中编写动态SQL语句。 ###...