`
liuwang126
  • 浏览: 183446 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

freemarker遍历map对象实例

 
阅读更多

freemarker遍历map对象实例,这个与遍历list对象有点不同。当Map里面的key 是Object(String,Integer,etc)等要通过以下的方式来得到。

code
1
2
3
4
5
6
<#list testMap?keys as testKey>
       < option value="${testKey}" >
              ${testMap.get(testKey)}
 
     </option>
</#list>
或者使用:
code
1
2
3
4
5
6
<#list testMap.keySet() as testKey>
       < option value="${testKey}" >
        ${testMap.get(testKey)}
 
     </option>
</#list>
      切记在webwork自带的freemarker中对Map中Key的定义为String类型(如果你想用${Map[key]}这样取值的话;如果用${Map.get(key}这样取值就可以用其他类型,如Map<Long,Object>),更高片本是否可以用其他类型本人未曾验证。

 
code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<#list pager.map.get("m") as list>
                        <li<#if (list_index + 1) % 4 == 0> class="end"</#if>>
                            <a href="${base}${list.htmlFilePath}" class="productImage" target="_blank">
                                <img src="${base}${(list.productImageList[0].thumbnailProductImagePath)!systemConfig.defaultThumbnailProductImagePath}" alt="${list.name}" />
                            </a>
                            <div class="productTitle">
                                <#if (list.name?length < 28)>
                                    <a href="${base}${list.htmlFilePath}" alt="${list.name}" target="_blank">${list.name}</a>
                                <#else>
                                    <a href="${base}${list.htmlFilePath}" alt="${list.name}" target="_blank">${list.name[0..25]}...</a>
                                </#if>
                            </div>
                            <div class="productBottom">
                                <div class="productPrice">
                                    <span class="price">${list.price?string(priceCurrencyFormat)}</span>
                                    <span class="marketPrice">${list.marketPrice?string(priceCurrencyFormat)}</span>
                                </div>
                                <div class="productButton">
                                    <input type="button" name="addCartItemButton" class="addCartItemButton addCartItem {id: '${list.id}'}" <#if list.isOutOfStock>value="缺货" disabled<#else>value="购买"</#if> hidefocus="true" />
                                    <input type="button" name="addFavoriteButton" class="addFavoriteButton addFavorite {id: '${list.id}'}" value="收藏" hidefocus="true" />
                                </div>
                            </div>
                        </li>
                    </#list>

分享到:
评论

相关推荐

    Freemarker中遍历list集合实例

    5. **遍历map**:如果list中的元素是map,可以用`key`和`value`遍历键值对。 ```freemarker [0].properties as entry&gt; 属性名: ${entry.key}, 值: ${entry.value} ``` 6. **反向遍历**:使用`reverse`指令...

    freemarker(语法+实例)

    以下是关于Freemarker语法和实例的详细讲解: 1. **概念** - **Sequence**:序列,类似于Java中的List、数组,存储非键值对的数据集合。 - **Hash**:键值对集合,对应于Java中的Map,存储键值对数据。 - **...

    FreeMarker实例

    这些数据通常由Java对象提供,通过`ModelAndView`、`Map`或`ViewModel`等方式传递到FreeMarker。 在实际应用中,`TestFM`可能是一个测试FreeMarker功能的文件夹,包含了一些示例模板和对应的测试数据。例如,可能有...

    freeMarker简单实例

    以上就是一个FreeMarker的简单实例,展示了如何使用FreeMarker将Java对象与HTML模板结合,生成动态网页。在实际开发中,FreeMarker的强大功能远不止于此,它能帮助开发者实现灵活、高效且易于维护的视图层。

    freemarker实例

    例如,你可以创建一个Map或JavaBean来封装数据,然后传递给FreeMarker的`Configuration`对象,由其负责解析模板并填充数据。 配置FreeMarker涉及到以下步骤: 1. 创建`Configuration`对象,设置模板目录和其它配置...

    Freemarker练习实例

    然后,通过Action类返回一个Map对象,这个对象的键值对将作为模板的数据模型。 接下来,我们关注一下实际的Freemarker模板文件。在本实例中,"freemarkerstruts2"可能包含一个或多个`.ftl`文件,如`index.ftl`,它...

    freemarker 实例源代码

    - **循环(Loops)**: `#foreach`用于遍历集合,如数组、列表或Map。 - **包含(Includes)**: `#include`可以将一个模板嵌入到另一个模板中。 - **宏(Macros)**: 类似于函数,可以封装重复使用的模板片段。 ...

    freemarker实例,真实

    Freemarker提供了多种控制结构,如`#if`用于条件判断,`#foreach`用于循环遍历集合,`#set`用于变量赋值,`#include`用于引入其他模板等。这些结构使得模板可以具备一定的逻辑处理能力。 8. **变量和表达式** ...

    freemarker Demo 适用于freemarker初学

    在Java应用中,Freemarker通过ModelAndView或者Map对象将数据传递到视图层。开发者可以在Java后端准备数据模型,然后传递给Freemarker模板,模板根据模型中的数据生成HTML输出。 4. **与Struts2集成** Struts2是...

    FreeMarker笔记1

    FreeMarker 实例:StaticPageServiceImpl 在实际项目中,FreeMarker可能与服务类如`StaticPageServiceImpl`结合,用于动态生成静态页面。此类可能包含方法,如`generatePage(FreeMarkerTemplate, DataModel)`,用于...

    freemarker 例子

    它可以是Java对象、Map、List等。 3. **Freemarker配置(Configuration)**: 配置对象负责管理模板加载、缓存策略、错误处理等。 4. **模板引擎(Processor)**: 处理模板与数据模型,生成最终的输出。 **二、...

    Freemarker小demo

    例如,你可以使用Jackson的`ObjectMapper`将JSON字符串转化为Map或者自定义的Java类实例,之后在Freemarker模板中通过 `${}` 符号来访问这些对象的属性。 ```java // Jackson JSON解析示例 ObjectMapper mapper = ...

    java生成静态页面——Freemarker实例教程.docx

    ### Java生成静态页面——Freemarker实例教程 #### 一、Freemarker简介 Freemarker是一款基于模板的通用工具,它可以嵌入到各种应用程序中,帮助开发者将动态数据渲染成HTML、XML或其他文本格式的文件。对于提高...

    FreeMarker概述API

    `Template`类用于加载和解析模板文件,`getTemplate`方法可以从配置对象中获取模板实例。模板语言由指令(Directives)、表达式(Expressions)和控制结构(Control Structures)组成。 3. **`DataModel`**:数据...

    FreeMarker

    在FreeMarker中输出变量值十分直观,可以是顶层变量、Map对象的成员或集合中的元素,使用`.`语法来访问Java对象的属性。 综上所述,FreeMarker作为一个强大的模板引擎,在Web开发和其他应用场景中都表现出色,其...

    FreeMarker入门指南API文档(中文版)

    1. 创建`Configuration`实例,配置FreeMarker。 2. 加载模板文件,得到`Template`对象。 3. 创建数据模型,通常是Java Map或JavaBean。 4. 使用`Template`的`process`方法,将数据模型和模板合并,生成输出文本。 *...

    freemarker导出Excel、Word、HTMLdemo

    - 在Java代码中,使用`Freemarker`实例加载模板,创建`Configuration`对象,设置模板目录,然后创建`Template`对象。接着,创建`Map, Object&gt;`来存储数据模型,最后调用`Template`的`process`方法将数据合并到模板...

Global site tag (gtag.js) - Google Analytics