FreeMarker 集合遍历

freemarker list (长度,遍历,下标,嵌套,排序)

1. freemarker获取list的size :

Java

ArrayList<String> list = new ArrayList<String>();

Freemaker

${list?size}

2. list的遍历:

<#list animals as being>

<tr>

<td>${being.name}${being.price}<td>

</tr>

</#list>

3. 遍历MAP

<#list map?keys as k>

<option value="${k}">${map[k]}</option>

</#list>

4.list遍历中的下标序号:

_index是list的一个属性

<#list list as a>

${a_index}

</#list>

5.取LIST中第i个元素的值

${list[i]}

嵌套时前面要有括号,如下,将字符串变成list,然后取第i个元素的值

${(str?split(","))[i]}

6. list的嵌套:

<#list jsskList as jsskVO>

<#list kcList as kcVO>

<#if kcVO.kch=jsskVO.kch> (kcVO里有编号和名称,而jsskVO里只有编号)

${kcVO.kcm}

</#if>

</#list>

</#list>

7. list排序:

升序 .sort_by()

<#list list?sort_by("字段") as x>

</#list>

降序 .sort_by()?reverse

<#list list?sort_by("字段")?reverse as x>

</#list>

8.item_has_next,size使用:

<#list userList as user>

<#if !user_has_next>
   共有${userList?size}最后一个用户是:${user.userName}
  </#if>
</#list>

时间: 2024-11-09 04:12:46

FreeMarker 集合遍历的相关文章

HashTable集合遍历的三种方法

hashtable集合遍历可以根据key,value以及key+value 示例代码: Hashtable table = new Hashtable(); Student stu = new Student(); stu.Name = "李四"; stu.Age = 18; Student stu1 = new Student(); stu1.Name = "张三"; stu1.Age = 18; Student stu2 = new Student(); stu

集合遍历

set集合遍历: 1.迭代器 2.增强for循环:只能遍历 List集合的遍历: 1. 迭代器 2. 增强for循环 3. 普通for循环 get(index) 和size() 注:增强for循环:只能遍历,不能删除,迭代器遍历可以删除,但必须使用迭代器,普通for循环可以删除,但必须记得i--;

java 集合遍历时删除元素

本文探讨集合在遍历时删除其中元素的一些注意事项,代码如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 import java.util.ArrayList; import java.util.Iterator; import java

Java集合遍历时删除

public static void main(String[] args){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); Iterator<Integer> interator = list.iterator(); while(interator.hasNext()){ Integer i

Map集合遍历的2种方法

Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collection 进行迭代的迭代器.迭代器取代了 Java Collections Framework 中的 Enumeration.迭代器与枚举有两点不同: 迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素. 方法名称得到了改进 方法摘要  boolean has

Java集合遍历性能

数据在内存中主要有两种存储方式: 1.顺序存储,Random Access(Direct Access) 这种方式,相邻的数据元素存放于相邻的内存地址中,整块内存地址是连续的,可以根据元素的位置直接计算出内存地址,直接进行读取.读取一个特定位置元素的平均时间复杂度为O(1).正常来说,只有基于数组实现的集合,才有这种特性.Java中以ArrayList为代表. 2.链式存储,Sequential Access: 这种方式,每一个数据元素,在内存中都不要求处于相邻的位置,每个数据元素包含他的下一个

集合框架(一) ----------Map集合遍历的方法

import java.util.*; /** * Map集合遍历的方法 * @author Administrator * */public class Test2 { public static void main(String[] args) { Map<String,String> map=new HashMap<String,String>(); /*Java 提供两种不同的类型: * 引用类型和原始类型(或内置类型). * Int是java的原始数据类型, * Inte

iOSDay16之集合遍历和数组排序

1.集合遍历 1> 遍历 集合(Collection):OC中提供的容器类:数组,字典,集合. 遍历:对集合中元素依次取出的过称叫做遍历. 三种方式:① for循环遍历: ② NSEnumerator遍历: ③ for...in遍历 2> for循环遍历 ① 数组遍历 原理:通过for循环的循环变量用作数组元素下标来获取不同下标的元素. 循环次数就是数组元素的个数. 1 // 数组 2 for (int i = 0; i < arr.count; i++) { 3 NSLog(@&quo

(2)集合 遍历set集合

set集合的一些方法 Set<String> set1=new HashSet<String>(); set1.add("a"); set1.add("b"); set1.add("c"); set1.add("d"); Set<String> set2=new HashSet<String>(); set2.add("a"); set2.add("