今天使用velocity在java后台渲染一个map<Long,String>对象到vm模板上,通过get(111)获取不到map的对象的值分析。
这是velocity1.6.4的处理,以后版本是不是解决了这个问题可以再查,个人认为在vm文件支持跟java一样加个L表示long之类的处理应该不难。
具体代码如下:
后台java生成设置代码
Map<Long,String> map = new HashMap<Long,String>();
map.put(101L,"aaa");
map.put(102L,"bbb");
context.put("longMap",map);
Map<Integer,String> intMap = new HashMap<Integer,String>();
intMap.put(101,"aaa");
intMap.put(102,"bbb");
context.put("intMap",intMap);
vm文件输出代码: