Java堂  


Spring+Velocity中模板路径的问题

归档在: JavaPlateform — Jet @ 1:54 下午
原文出处: http://www.javatang.com/archives/2008/06/26/5407270.html
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

在Spring中使用Velocity进行视图渲染的时候需要注意一个路径的设置问题。Spring本身提供了一个用于对Velocity进行设置的类,我们做如下设置:

  1. <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
  2.         <property name="configLocation" value="/WEB-INF/velocity.properties" />
  3.         <property name="resourceLoaderPath" value="/WEB-INF/templates" />
  4.     </bean>

使用configLocation属性设置了velocity配置文件的路径及文件名,而resourceLoaderPath设置了模板文件所在的位置。这里我们看到,所有的设置路径都是基于网站根目录的。

这个时候对于velocity.properties中用于设置宏文件的velocimacro.library选项而言,他所对应的目录就是前面resourceLoaderPath中设置的目录了,比如我们可以设置如下:

  1. velocimacro.library = macro.vm

并且对于模板文件中#parse指令所包含的文件也是基于resourceLoaderPath中所设置的目录。

如果我们将resourceLoaderPath设置为网站跟目录,而模板文件放在了/WEB-INF/template下,这个时候velocimacro.library和#parse指令所包含的文件路径就是基于网站根目录了,例如有个section.vm文件放在了/WEB-INF/template目录下,这个时候在模板文件中必须写成#parse(”/WEB-INF/template/section.vm”)才可以,可以看出这样非常的麻烦。

因此我们不能想当然的将resourceLoaderPath设置为网站的根目录,而是直接指向模板文件所在的目录。或许你认为我这么说有些可笑,但是有的时候我们往往在这些看似不经意的问题上浪费时间。

Velocity 升级为Apache的顶级项目

归档在: JavaPlateform — Jet @ 10:17 下午
Tags:
原文出处: http://www.javatang.com/archives/2007/03/12/1754126.html
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

velocity_project_wide.png

今天在Apache官方首页上了解到,Velocity已经升级为了Apache顶级项目(TPL - Top Level Project),之前Velocity是Jakarta项目下的一个子项目,现在也是“多年的媳妇熬成婆了”,自己也独立门户了,新的站点地址为:http://velocity.apache.org/

Velocity是什么?引用以下open-open上的简介

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。

【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】

使用Velocity犯的低级错误

归档在: JavaPlateform — Jet @ 12:32 上午
原文出处: http://www.javatang.com/archives/2006/04/26/322220.html
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!