`
shuai1234
  • 浏览: 978311 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Velocity 遍历Map类型,List类型

    博客分类:
  • java
 
阅读更多
折腾个velocity的显示问题折腾了一天..

一.遍历个map类型

1.先看后台java程序
Java代码 复制代码
  1. Map<String,String> paramValues=new HashMap<String, String>();   
  2. ***   
  3. *** 中间赋值操作省略了   
  4. ***   
  5. data.put("paramValues", paramValues);//传值给velocity  
Java代码 复制代码 收藏代码
  1. Map<String,String> paramValues=new HashMap<String, String>();   
  2. ***   
  3. *** 中间赋值操作省略了   
  4. ***   
  5. data.put("paramValues", paramValues);//传值给velocity  
Map<String,String> paramValues=new HashMap<String, String>();
***
*** 中间赋值操作省略了
***
data.put("paramValues", paramValues);//传值给velocity


2.前台velocity模板文件中取出这个map的key和value

Java代码 复制代码
  1.   
  2. #foreach($param in ${paramValues.keySet()})   
  3. <tr>   
  4.     <th>$param</th>   
  5.     <td>${paramValues.get($param)}</td>   
  6. </tr>   
  7. #end  
Java代码 复制代码 收藏代码
  1. #foreach($param in ${paramValues.keySet()})   
  2. <tr>   
  3.     <th>$param</th>   
  4.     <td>${paramValues.get($param)}</td>   
  5. </tr>   
  6. #end  
#foreach($param in ${paramValues.keySet()})
<tr>
	<th>$param</th>
	<td>${paramValues.get($param)}</td>
</tr>
#end




二.遍历List类型

1.先看后台java代码

Java代码 复制代码
  1. List<Saler> salerList=new ArrayList<Saler>();   
  2. ***   
  3. ***中间赋值操作省略了   
  4. ***   
  5. data.put("salerList", salerList);//传值给velocity  
Java代码 复制代码 收藏代码
  1. List<Saler> salerList=new ArrayList<Saler>();   
  2. ***   
  3. ***中间赋值操作省略了   
  4. ***   
  5. data.put("salerList", salerList);//传值给velocity  
List<Saler> salerList=new ArrayList<Saler>();
***
***中间赋值操作省略了
***
data.put("salerList", salerList);//传值给velocity



2.再看velocity模版中代码

Java代码 复制代码
  1. #foreach($sal in ${salerList})   
  2. $sal.name   
  3. #end  
Java代码 复制代码 收藏代码
  1. #foreach($sal in ${salerList})   
  2. $sal.name   
  3. #end  
#foreach($sal in ${salerList})
$sal.name
#end



ps:这里补充说明一下,velocity中虽然可以用对象,就像这个list泛型中的Saler,但是要求这个Saler必须是public class Saler{xxxxx}的,也就是说不能为内部类..不能是写在别的类里面的 class Saler{xxxxx},而且这个类的成员变量要有get,set方法,不然就取不出来..具体为啥..不清楚..等待有经验的哥们解释一下~~

分享到:
评论

相关推荐

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

    本篇文章将详细解析如何在Velocity模板中显示和遍历`List`与`Map`数据结构。 首先,我们来看如何在Velocity中遍历`Map`类型的数据。在后台Java程序中,我们创建一个`HashMap`对象`paramValues`并填充数据,然后将其...

    Velocity之WEB(Object,List,Map)

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

    Java通过POI读取Excel遍历数据,批量生成word文档

    // 处理cellValue,例如存储到List或Map中 } } workbook.close(); fis.close(); ``` 读取Excel数据后,我们可以创建一个Word模板,使用` XWPFDocument `类来代表Word文档。这个模板可以包含占位符,这些占位符将...

    velocity配置

    List&lt;Map, Object&gt;&gt; list = service.queryKsxxList(1); context.put("ds", list); StringWriter writer = new StringWriter(); velocityEngine.mergeTemplate("/ksxx.vm", "GBK", context, writer); request....

    Freemarker使用指南

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

    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学习归纳

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

    freemarker导出Excel、Word、HTMLdemo

    在Java中,Freemarker与ModelAndView、Velocity等模板引擎类似,它通过模板语言(Template Language)来描述数据如何被渲染。下面我们将详细探讨如何使用Freemarker来导出Excel、Word和HTML。 1. **导出Excel** - ...

    jxls导出模板

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

    Java进阶路线

    - **WeakHashMap**:一种特殊类型的 Map,其中键是弱引用。 - **Vector**:类似于 ArrayList,但线程安全。 - **Stack**:继承自 Vector,实现了一个后进先出(LIFO)栈。 - **Queue**:一种特殊的集合,实现了先进先...

    Xml做数据源模板显示新闻的源码.rar

    在这个源码中,可能使用了DOM解析器来加载XML文件,然后遍历DOM树,获取每个新闻条目的信息。例如,使用Java的JDOM库,代码可能如下: ```java import org.jdom2.Document; import org.jdom2.Element; import org....

    顶级IT公司面试题

    - **List**:有序集合,允许重复元素,如ArrayList。 - **Set**:不允许重复元素的集合,如HashSet。 - **Map**:键值对映射关系,如HashMap。 - **迭代器**:遍历集合的工具。 #### 8. 状态模式与客户端连接 - **...

    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;`等,用于创建表单输入元素,并能自动...

    Mybatis中foreach标签带来的空格\换行\回车问题及解决方案

    Mybatis 中的 foreach 标签是一个功能强大的工具,允许开发者在 SQL 语句中循环遍历集合对象。但是,在使用 foreach 标签时,经常会遇到空格、换行、回车问题,这些问题会导致 SQL 语句执行失败或返回错误的结果。 ...

    Struts2知识点小结-非常实用

    - `iterator`: 迭代集合,支持List、Set、数组和Map。`id`属性指向集合中的元素,`status`属性指向IteratorStatus实例,提供关于迭代状态的方法,如获取索引、判断是否为偶数或奇数等。 - `merge`: 类似于`append`...

    freemarker基础

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

    java 通过模板生成 xml

    1. **DOM解析器**:DOM将整个XML文档加载到内存中,创建一个树形结构,允许程序遍历和修改XML节点。在使用模板时,你可以预先定义一个XML结构作为模板,然后使用DOM API填充数据。例如: ```java ...

    java生成XML的方法【附demo源码下载】

    在循环中,每个查询结果映射为一个Map对象,通过`map.get()`方法获取字段值,并添加到XML字符串中。 4. **写入文件**: 当XML字符串构建完成后,可以将其写入到文件系统中。这部分代码在提供的示例中没有展示,但...

    Excel文件

    - **读取数据**: 通常,我们会遍历所有行和单元格,读取数据并存储到合适的数据结构中,如List或Map。 - **写入数据**: 可以先构建好数据结构,然后根据需要填充到Excel的工作表中。 - **高级功能**: 包括处理...

Global site tag (gtag.js) - Google Analytics