`
yangwn
  • 浏览: 77133 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论
  • icewubin: kimmking 写道icewubin 写道Dollyn 写道 ...
    Java
  • kimmking: icewubin 写道Dollyn 写道我十分怀疑最后一条,很 ...
    Java
  • beneo: 完全忽略了一個好的JVM的優化能力 難道java是C編譯器么 ...
    Java
  • icewubin: Dollyn 写道我十分怀疑最后一条,很多编译器都会自动做类似 ...
    Java
  • Dollyn: 我十分怀疑最后一条,很多编译器都会自动做类似优化吧(不知道JD ...
    Java

Velocity遍历List和Map

阅读更多
有member对象,属性有email,firstname,lastname



package ch7.example4;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork.ActionSupport;

public class TestVelocity extends ActionSupport ...{
   List members=new ArrayList();
   Map membersMap=new HashMap();
   public TestVelocity()...{
       Member m1=new Member();
       m1.setEmail("gaoxiang1@tom.com");
       m1.setFirstname("gao1");
       m1.setLastname("xiang1");
      
       Member m2=new Member();
       m2.setEmail("gaoxiang2@tom.com");
       m2.setFirstname("gao2");
       m2.setLastname("xiang2");
      
       Member m3=new Member();
       m3.setEmail("gaoxiang3@tom.com");
       m3.setFirstname("gao3");
       m3.setLastname("xiang3");
       
        members.add(m1);
        members.add(m2);
        members.add(m3);
       
       
        membersMap.put(1, m1);
        membersMap.put(2, m2);
        membersMap.put(3, m3);
   }

public String execute() throws Exception ...{

    return SUCCESS;
}

public List getMembers() ...{
    return members;
}

public void setMembers(List members) ...{
    this.members = members;
}

public Map getMembersMap() ...{
    return membersMap;
}

public void setMembersMap(Map membersMap) ...{
    this.membersMap = membersMap;
}

}





<html>
  <body>
     List:
     #foreach($member in $members)
       <li>$member.email - $member.firstname $member.lastname</li>
     #end 
    
     <br>
     Map:
     #foreach($member in $membersMap.entrySet())
       <li>$member.key - $member.value.firstname $member.value.lastname</li>
     #end
  </body>
</html>


使用$velocityCount可以对遍历进行计数

结果:

List:

gaoxiang1@tom.com - gao1 xiang1
gaoxiang2@tom.com - gao2 xiang2
gaoxiang3@tom.com - gao3 xiang3
Map:
1 - gao1 xiang1
2 - gao2 xiang2
3 - gao3 xiang3
分享到:
评论

相关推荐

    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;`:将值推入栈中...

    jxls导出模板

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

    Struts2知识点小结-非常实用

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

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

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

    XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,它以其结构化、自解释性和可扩展性而被广泛应用于各种领域,包括Web应用程序中的数据存储和交换。在这个“Xml做数据源模板显示新闻的源码”...

    freemarker基础

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

    freemarker导出Excel、Word、HTMLdemo

    - 例如,创建`html.ftl`,包含HTML标签、CSS类和JavaScript引用,然后用`&lt;#list&gt;`标签迭代数据,插入到HTML元素中。 - Java代码中,配置Freemarker后,直接将数据模型与模板合并,生成的HTML可以直接在浏览器中...

    Freemarker学习归纳

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

    Java进阶路线

    - **HashTable**:实现了 Map 接口,但不允许 null 键和值。 - **WeakHashMap**:一种特殊类型的 Map,其中键是弱引用。 - **Vector**:类似于 ArrayList,但线程安全。 - **Stack**:继承自 Vector,实现了一个后进...

    java 通过模板生成 xml

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

    Excel文件

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

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

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

    顶级IT公司面试题

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

    FreeMarker 手册

    第二章 数值和类型 ................................................................................................. 19 2.1 基本内容 .......................................................................

Global site tag (gtag.js) - Google Analytics