`

Velocity渲染JAVA传递过来的Map

阅读更多
传递一个Map类型到vm页面,然后从vm渲染Map,把结果显示出来!

Map<Long, String> map = new HashMap<Long, String>();
map.put(100000L, "aaaaa");
map.put(100001L, "bbbbb");
map.put(100002L, "ccccc");


vm页面代码:
#foreach($key in $map.keySet())
$!map.get($key)
#end


此时遍历后能正确输出结果。

-----------------------------------------------------------------------------------------------------------------------------------------------------

如果我现在不想遍历,只需要得到其中一个确定的value:
$!map.get(100000)

或者
$!map.get("100000")


此时都不能得到我想要的结果。

-----------------------------------------------------------------------------------------------------------------------------------------------------

问题出在原始的Map类型Long上面,修改代码如下:
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(100000, "aaaaa");
map.put(100001, "bbbbb");
map.put(100002, "ccccc");


$!map.get(100000)


或者
Map<String, String> map = new HashMap<String, String>();
map.put("100000", "aaaaa");
map.put("100001", "bbbbb");
map.put("100002", "ccccc");


$!map.get("100000")


都能得到正确结果。

看来velocity对Long的支持有点问题。
同样,对Short、Float、Double也有同样的问题。
保险期间,建议用String。。。。。
2
1
分享到:
评论

相关推荐

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

    在后台Java程序中,我们创建一个`HashMap`对象`paramValues`并填充数据,然后将其放入一个名为`data`的Map中,以便传递给Velocity模板: ```java Map, String&gt; paramValues = new HashMap, String&gt;(); // ...中间...

    springMVC引入谷歌地图附java、velocity代码

    2. 将数据传递给前端:将处理后的地图信息以JSON格式返回,Velocity模板可以接收到这些数据并渲染到页面上。 三、安全和优化 1. API密钥管理:确保你的API密钥安全,避免滥用。你可以限制密钥的使用范围,比如只...

    springMVC 整合velocity

    5. **数据传递**:SpringMVC 可以通过模型对象或模型 Map 将数据传递给 Velocity 模板。在模板中,可以使用 `$` 符号访问这些数据。 ```java @RequestMapping("/test") public String test(Model model) { model....

    Spring已集成jsp的环境下同时集成Velocity

    这样,当用户访问/hello时,Spring会使用Velocity渲染"hello.vm"模板,并将模型数据传递给模板。 5. **测试和调试**:完成上述配置后,可以通过运行Web应用并访问相关URL来测试集成是否成功。如果遇到问题,可以...

    velocity配置

    Velocity是一个强大的基于Java的模板引擎,它主要用于将Java对象的数据渲染成HTML、XML、SQL等格式的文本。在本文中,我们将深入探讨Velocity的配置及其在Web开发中的应用。 首先,要使用Velocity,你需要在项目中...

    jxls导出模板

    这些数据可以通过Spring的ModelAndView、Velocity的Context或者简单的Java对象传递给jxls。例如,如果你有一个User对象列表,你可以创建一个List并将其传递给jxls,它会自动将对象属性填充到模板对应的位置。 接...

    SpringBoot学习笔记.docx

    可以通过 Map 对象向视图传递数据,视图模板(如 Velocity)可以访问这些数据并显示。例如,`login()` 方法将 "username" 和当前日期放入 Map 中,然后返回 "hi" 视图名。 5. **视图渲染**: 在 Velocity 模板中...

    nutz的freemarker视图插件

    - 在Controller层,通过ModelAndView或直接返回Map,将数据模型传递给视图。 - Freemarker插件会自动解析模型数据并注入到模板中。 4. **相似性与Struts2**: - 如果你熟悉Struts2的Freemarker使用,那么在Nutz...

    Freemarker 实例,Freemarker 实例

    它与JSP、Velocity等技术相似,但更注重于分离业务逻辑和视图层,使得开发者可以专注于设计模板,而不用关心Java代码的实现。下面将详细介绍Freemarker的核心概念、配置、语法以及常见使用场景。 **1. Freemarker...

    Spring ModeAndView

    正如其名所表示的那样,`ModelAndView`类同时封装了模型数据(Model)和视图信息(View),使得控制器能够方便地将二者传递给视图层进行渲染。 #### 二、`ModelAndView`的作用 `ModelAndView`的主要作用在于简化...

    Spring MVCjar包

    4. **ViewResolver**:视图解析器,根据视图名称找到具体的视图实现,如JSP、FreeMarker等,并将模型数据传递给视图进行渲染。 5. **Model**:模型数据,包含了应用程序需要传递给视图的数据,通常是一个Map对象。 ...

    struts2 JAR包

    - **Result**:负责渲染视图,可以是JSP、FreeMarker、Velocity等模板引擎。 - **Interceptor(拦截器)**:类似于过滤器,可以在Action执行前后插入自定义逻辑,如日志记录、权限检查等。 - **ValueStack**:用于...

    d.service.freemarker:Freemarker模板服务实现

    它常被用于Web应用中,作为JSP或Velocity的替代方案,因为它的模板语言更加简洁且易于维护。 【描述】"d.service.freemarker模块"是项目中专门用于处理FreeMarker模板服务的部分。这个模块提供了一个名为`...

    thymeleaf实战

    与Velocity和FreeMarker等其他模板引擎相比,Thymeleaf提供了一些独特的特性和优势,使其在Java开发社区中备受青睐。它不仅能够作为服务器端的模板引擎运行,还可以在浏览器环境中直接处理静态资源,这意味着...

Global site tag (gtag.js) - Google Analytics