Velocity使用小技巧积累章

2016-12-09  本文已影响46人  wuchaooooo

持续更新......

$!{date.format('yyyy-MM-dd',$!{date})}

后端传来的Date类型的数据,就可以以'yyyy-MM-dd'的格式显示了。
其原理是依靠了在velocity的toolbox.xml中配置的DateTool。

比如。我们要把后端传来的数据1,2,3,4,5分别显示成杭州,北京,上海,天津,深圳<br />
方法一:我们新建一个专门用来显示前端数据的java类,然后把该转换的数据进行转换,然后存到这个java类。但是如果说数据量大,我们可能需要遍历很多的类,显然对我们的操作不太友好。而且有了下述的方法,感觉自己以后也不会用方法一了<br />
下面是更佳友好的方法

  1. 我们先定义一个转换类Dictionary
public class Dictionary {
        //这是一个快速创建Map并赋值的方法
        public static Map<Integer, String> cityMap = new HashMap<String, String>(){{    
            put(1, "杭州");    
            put(2, "北京");    
            put(3, "上海");    
            put(4, "天津");    
            put(5, "深圳"); 

        public static String getCityName(Integer id) {
            return cityMap.get(id);
        }
}
  1. 我们在velocity的toolbox.xml文件中进行如下申明:
<tools>  <!--tools是toolbox的根标签-->
        <toolbox>
            <tool key="dicUtil" class="com.example.Dictionary"></tool>
        </toolbox>
</tools>

3.我们在前端页面可以这么写

$!{dicUtil.getCityName(1)}
$!{dicUtil.getCityName(2)}
$!{dicUtil.getCityName(3)}
$!{dicUtil.getCityName(4)}
$!{dicUtil.getCityName(5)}

运行后显示如下

杭州
北京
上海
天津
深圳
上一篇 下一篇

猜你喜欢

热点阅读