模板引擎 Velocity

强颜欢笑 提交于 2020-01-09 06:19:24

一直以来开发web的页面都是jsp+jstl+EL表达式。也没遇到什么问题,只是偶尔会禁不住在jsp页面上写上两行java代码,些许影响美观。

听说velocity这个模版很不错。oschina也是用的这个。于是花了些时间学习一下。

很多内容velocity的官网上面都说得听清楚了。这里说下web开发方面的。

想用velocity代替jsp其实很简单。先在官网的下载页面下载必须的jar包,分别是velocity-1.7.zipvelocity-tools-2.0.zip

在velocity-tools-2.0.zip中有个官方例子,估计看完之后大家都会了。这里简单说下。

首先在web.xml中增加velocity的配置。

    <servlet>
        <servlet-name>velocity</servlet-name>
        <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>velocity</servlet-name>
        <url-pattern>*.vm</url-pattern>
    </servlet-mapping>

添加一个处理vm后缀文件的servlet,这样应用就会自动处理.vm的文件,也会解析该类文件中的velocity语法。

然后还需要加一个velocity.properties配置,该文件放在WEB-INF文件夹下。我这里只配置了三个属性。

tools.view.servlet.layout.directory = WEB-INF/template/

input.encoding=utf-8  
output.encoding=utf-8

encoding的配置可以保证页面中文不会乱码。

经过上面两个配置之后,就可以把velocity当成jsp来用了。当然语法上区别很大。

velocity的语法可以看这里

eclipse自带是没有提供对velocity的支持的,但是我们可以装插件:Velocity编辑插件 Veloeclipse。插件更新地址:http://veloeclipse.googlecode.com/svn/trunk/update/。

刚开始用velocity,发现还是很方便的,jsp能实现的功能,应该都可以实现,而且还有强大的macro。

如果有机会,大家都可以试用下。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!