`

Velocity遍历Map集合

阅读更多

第一种方法代码:

#foreach($map in $customerMap.keySet())
key: $!{map};
value:$!{customerMap.get($map)};
#end
还有一种:
#foreach($map in $customerMap.entrySet())
key: $!{map.key};
value:$!{map.value};
#end
一般如果Map中又包含了一个Map,这个时候的读取方法如下:
//Map的Key为Map类型的,如:
Map<Map<Long,String>,List<Entity>> cataMap=newLinkedHashMapMap<Map<Long,String>,List<Entity>>();
#foreach($cata in $cataMap)
//读取Map的key
#foreach($ca in $cata.key.keySet())
//获取key
key: $!{ca}
value:$!{cata.key.get($!{ca})}
#end
//读取Map的value
#foreach($cataval in $cata.value)
$cataval.id
$cataval.name
......
#end
#end

    这是最近在页面上使用velocity的时候需要遍历Map所记录下来的,如果有啥问题,可以一起讨论。

分享到:
评论

相关推荐

    velocity显示List与Map的方法详细解析

    总结一下,Velocity通过`#foreach`指令支持对`List`和`Map`等集合数据的遍历。对于`Map`,我们可以直接遍历`keySet()`,并通过`get()`方法获取对应的值。对于`List`,`#foreach`会逐个访问列表中的元素。这种方式极...

    Velocity之WEB(Object,List,Map)

    3. **#foreach**:循环遍历集合,如`#foreach($item in $list) ... #end`。 4. **#include**:包含其他模板文件。 5. **#parse**:解析并执行指定的模板文件。 6. **#macro**:定义宏,可复用的代码块。 7. **#stop*...

    给公司内部人员培训资料 velocity

    2. **循环**:Velocity 提供了 `#foreach` 循环结构,如 `#foreach( $mud in $mudsOnSpecial )`,这里 `$mud` 是循环中的临时变量,`$mudsOnSpecial` 是需要遍历的集合。 3. **对象方法调用**:你可以直接在模板中...

    velocity的语法

    3. **`#foreach`**:循环遍历集合,如数组或列表。 ```velocity #foreach( $info in $hotList1) $!info.cid" target="_blank"&gt;$!info.title&lt;/a&gt;&lt;br&gt; #end ``` 4. **`#macro`**:定义宏,简化代码重复。尽管不推荐...

    对Java语法的怨念总是那么重——不断改造中

    最后,"Maps.java"可能是一个包含Map使用的示例代码,博主可能在这个文件中展示了常见的Map操作,比如添加元素、删除元素、遍历Map、查找键值对等,也可能涉及到并发编程中对ConcurrentHashMap的使用,或者是线程...

    Struts2知识点小结-非常实用

    这个标签用于遍历集合,其`value`属性指定要迭代的集合,`id`和`status`属性则提供了访问和判断迭代状态的能力。 3. `if`标签: `if`标签根据一个Boolean表达式的值决定是否执行其内部的代码块。 4. `append`...

    struts2.0 taglib 标签库

    - `&lt;s:iterator&gt;`:遍历集合,如List或Map,用于循环输出。 6. **辅助与控制标签**: - `&lt;s:debug&gt;`:用于调试,显示当前请求的详细信息。 - `&lt;s:div&gt;`:创建一个HTML的`&lt;div&gt;`块。 - `&lt;s:push&gt;`:将值推入栈中...

    Freemarker使用指南

    5. 遍历:`&lt;#list&gt;`指令可以用来遍历List或其他集合类型的变量,例如`&lt;#list users as user&gt;`,在循环中可以访问每个用户的属性。 除了以上基础用法,Freemarker还支持更多的高级特性,如宏定义、指令嵌套、模板...

    freemarker导出Excel、Word、HTMLdemo

    - 创建`ftl`文件,例如`excel.ftl`,设置表格行、列的布局,用`&lt;#foreach&gt;`循环遍历数据集合,将数据插入到模板中。 - 在Java代码中,使用`Freemarker`实例加载模板,创建`Configuration`对象,设置模板目录,然后...

    Struts2标签库详解.doc

    5. **迭代标签**:`&lt;s:iterator&gt;`是用于遍历集合的标签,它可以遍历任何实现了Iterable接口的对象,如数组、列表或Map。配合`&lt;s:append&gt;`,可以在不同的数据源之间进行灵活的数据整合。 6. **生成标签**:`...

    freemarker学习

    3. `#foreach`:循环遍历集合。 4. `#set`:设置变量。 5. `#include`:包含其他模板。 6. `#import`:导入其他模板或Java类。 7. `#function`:自定义函数。 8. `#macro`:宏定义,类似于函数,可以复用模板片段。 ...

    freemarker文档学习

    - **循环**:`&lt;#foreach&gt;`遍历集合,如数组、列表。 - **指令**:如`&lt;#assign&gt;`分配变量,`&lt;#include&gt;`引入其他模板。 3. **Freemarker标签** - **内置函数**:如`?html`用于转义HTML实体,`?string`将对象转换...

    struts2-tags-API.rar_struts2 api_struts2 tag api_struts2 tags ch

    5. **Iterative Tags**: `&lt;s:iterator&gt;`标签用于遍历集合,如List、Map等,是循环渲染数据的关键。 6. **Input Tags**: 包括`&lt;s:textfield&gt;`、`&lt;s:password&gt;`、`&lt;s:textarea&gt;`等,用于创建表单输入元素,并能自动...

    jxls导出模板

    例如,`${list}" var="item"&gt;`会遍历名为`list`的集合,并为每个元素创建一个新的行。 其次,**数据封装**是将业务数据与模板关联的关键步骤。开发者需要创建一个Java对象或Map,其中包含了模板需要的所有数据。...

    Freemarker学习归纳

    - **循环结构**:`&lt;#list&gt;`用于遍历集合,`&lt;#foreach&gt;`用于常规迭代。 - **指令**:如`&lt;#assign&gt;`分配变量,`&lt;#include&gt;`包含其他模板,`&lt;#function&gt;`定义函数。 - **注释**:`&lt;!--...--&gt;`为HTML注释,`...

    Java进阶路线

    这两种遍历集合的方式各有优势。`foreach` 更简洁易用,而 `iterator` 则提供了更多的控制选项,例如删除元素等。 **4. 浅拷贝与深拷贝** 浅拷贝只复制对象本身,并不复制对象所引用的对象;深拷贝不仅复制对象...

    freemarker基础

    例如,`&lt;#if condition&gt;` 和 `&lt;#else&gt;` 用于条件判断,`&lt;#list items as item&gt;` 用于遍历列表。变量引用通常用 `${expression}` 表示,其中`expression`可以是任何返回值的表达式。 2. **数据模型** 在Freemarker...

    顶级IT公司面试题

    - **迭代器**:遍历集合的工具。 #### 8. 状态模式与客户端连接 - **状态模式**:允许对象在其内部状态改变时改变它的行为。 - **客户端连接管理**:建立、维护和关闭与服务器的连接。 #### 9. 并发控制机制 - **...

    前端开发资源.docx

    - **关键特性**:提供丰富的函数集合,如`_.map`、`_.reduce`等,用于数组遍历;`_.throttle`、`_.debounce`等,用于函数节流和防抖。 2. **xijs**: - **简介**:面向复杂业务场景的 JavaScript 工具库。 - **...

Global site tag (gtag.js) - Google Analytics