来源:http://honda418.javaeye.com/blog/354821
传递一个Map类型到vm页面,然后从vm渲染Map,把结果显示出来!
Java代码
Map<Long, String> map = new HashMap<Long, String>();
map.put(100000L, "aaaaa");
map.put(100001L, "bbbbb");
map.put(100002L, "ccccc");
vm页面代码:
Velocity代码
#foreach($key in $map.keySet())
$!map.get($key)
#end
此时遍历后能正确输出结果。
-----------------------------------------------------------------------------------------------------------------------------------------------------
如果我现在不想遍历,只需要得到其中一个确定的value:
Velocity代码
$!map.get(100000)
或者
Velocity代码
$!map.get("100000")
此时都不能得到我想要的结果。
-----------------------------------------------------------------------------------------------------------------------------------------------------
问题出在原始的Map类型Long上面,修改代码如下:
Java代码
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(100000, "aaaaa");
map.put(100001, "bbbbb");
map.put(100002, "ccccc");
Velocity代码
$!map.get(100000)
或者
Java代码
Map<String, String> map = new HashMap<String, String>();
map.put("100000", "aaaaa");
map.put("100001", "bbbbb");
map.put("100002", "ccccc");
Velocity代码
$!map.get("100000")
都能得到正确结果。
看来velocity对Long的支持有点问题。
同样,对Short、Float、Double也有同样的问题。
保险期间,建议用String。。。。。
相关推荐
**Velocity简介** Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态Web内容。Velocity被设计成一个轻量级的、快速的模板语言,它允许开发者将逻辑与表现分离,使HTML或者XML等...
本篇文章将详细解析如何在Velocity模板中显示和遍历`List`与`Map`数据结构。 首先,我们来看如何在Velocity中遍历`Map`类型的数据。在后台Java程序中,我们创建一个`HashMap`对象`paramValues`并填充数据,然后将其...
它支持JavaBean和Map对象的直接引用,并且通过Action接口可以方便地进行用户自定义操作。此外,Velocity 1.5还包含了一个简单的缓存机制,用于提升性能。 2. **velocity-1.6.2-dep.jar**: 这是Velocity的1.6.2...
1. **准备数据模型**:创建一个Java对象或Map,其中包含了要插入到XML中的数据。 2. **创建Velocity上下文**:将数据模型放入Velocity Context,这是Velocity模板引擎工作的地方。 3. **加载模板**:读取模板文件并...
- **Foreach**:遍历列表、数组或 Map。 ```velocity #foreach($item in $items) $item.Name #if($foreach.hasNext),#end #end ``` - **内置变量**:在循环中使用特定变量,如 `$foreach.hasNext`、`$foreach...
Map, Object> context = new HashMap(); context.put("name", "World"); StringWriter writer = new StringWriter(); t.merge(context, writer); System.out.println(writer.toString()); ``` 在`hello.vm`模板...
5. **数据传递**:SpringMVC 可以通过模型对象或模型 Map 将数据传递给 Velocity 模板。在模板中,可以使用 `$` 符号访问这些数据。 ```java @RequestMapping("/test") public String test(Model model) { model....
如果索引是字符串,如 `$foo["bar"]`,那么 `foo` 可能是一个 Map。 9. **点号取值和赋值**:点号不仅可以用于获取属性,还可以用于赋值,如 `${foo.bar} = 3`。 10. **条件语句**:Velocity 支持 `#if`、`#elseif...
在本文中,我们将深入探讨如何在Spring MVC框架中集成谷歌地图,并通过Java和Velocity模板语言实现相关功能。谷歌地图API是开发地理位置应用的强大工具,它提供了丰富的地图展示、定位、路线规划等功能。以下是对这...
Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...
Map, Object> model = new HashMap(); model.put("name", "Velocity"); return new ModelAndView("hello.vm", model); } ``` 这样,当用户访问/hello时,Spring会使用Velocity渲染"hello.vm"模板,并将模型...
Map, Object> model = new HashMap(); model.put("name", "Spring Boot"); return new ModelAndView("index", model); } } ``` 在这个例子中,`hello`方法返回了一个ModelAndView对象,其中的"index"是模板...
2. **构建数据模型**:根据需要,准备一个数据结构,它可以是一个Java对象、Map或JSON对象,包含了要填充到模板中的数据。 3. **使用Velocity渲染**:使用Velocity的`Template`和`Context`对象,将数据模型与HTML...
Map, Object> velocityTools = new HashMap(); velocityTools.put("resource", resourceBundleTool); resourceBundleTool.setResourceBundles("messages"); // 设置资源包名称 return new SpringVelocityEngine...
Map, Object> model = new HashMap(); if (userName != null && !userName.isEmpty()) { User user = new User(); user.setName(userName); model.put("user", user); } model.put("items", Arrays.asList...
Map, Object> model = new HashMap(); model.put("message", "Hello, SpringMVC + Velocity!"); return new ModelAndView("example", model); } ``` 4. **创建Velocity模板**: 在指定的资源路径(如`/WEB-INF...
public void sendEmail(String to, Map, Object> model) throws Exception { // 加载Velocity模板 VelocityEngine velocityEngine = new VelocityEngine(); velocityEngine.init(); Template template = ...
在本文中,我们将深入探讨如何使用Leaflet.js库的一个插件——`leaflet-velocity.js`,来创建引人入胜的风场流线效果。Leaflet是一个轻量级且功能强大的JavaScript库,专为Web地图设计,而`leaflet-velocity.js`则是...
例如,你可以在Java代码中创建一个`Map`对象,然后将它放入Context,这样在模板中就可以通过`$map.key`的方式来访问这些数据。 ** HelloWorld示例 ** 一个基本的Velocity HelloWorld示例可能如下: ```java // ...