当前位置: MXJAVA > JAVA开发 > 文章正文

Jsp代码和Velocity语句共存

发表于 2007-09-12 | 阅读 1,609 views

  昨天我推荐大家使用Velocity作为表示层来开发WEB应用。很多写习惯了jsp的朋友也许一时很难适应,不要紧,今天我为大家介绍一下,在jsp文件中如果加入Velocity扩展,让jspVelocity共存。

jsp + Velocity似乎并不是个好点子,在实际应用开发中也比较少用。不过,我们也可以了解了解这项技术,更进一步学习Velocity。首先我们先来看看,Velocity默认解析的文件为*.vm。在Web.xml中配置Velocity的Servlet,就可以解析执行该类型的文件了。在vm文件中是不可以出现jsp语句的。因为Velocity引擎并不认识jsp代码,只会把它们当作普通的字符串显示在页面上。而jsp页面中加入Velocity 语句也是如此。那么如何才能使jspVelocity共存呢?其实操作很简单,我们只需要两样东西来帮忙–即veltag.tld和veltag- 0.01-dev.jar。可以到apache上下载。
veltag.tld是标签库文件,在jsp页面中,利用该库中定义好的几个标签来告诉Velocity引擎处理哪些代码。将该文件拷贝至WEB-INF下,并在web.xml中加入如下代码:

  1. <%@ taglib uri="/WEB-INF/veltag.tld" prefix="vel" %> 
  2. #set($mybean = $scopetool.getPageScope("mybean"))  
  3. #if(true)  
  4.     this is true!  
  5. #end  
  6. $mybean.string  
  7. #foreach($item in $mybean.array)  
  8.     $item  
  9. #end  

  veltag-0.0.1-dev.jar是用来解析标签的类库文件,同普通的jar一样,将其拷贝至WEB-INFlib目录下。

运行一下看看,是不是很好玩呢?好玩归好玩,不过,要使用jsp + velocity来做为显示层可能并不合适。因为jsp首先要被编译的成servlet然后才能执行的。而此时的velocity语句被servlet当做字符串输出,然后由Velocity的Servlet接管并解析该文件。经过一次编译(当然只编译一次)和解析,在运行效率上似乎并不比单纯的编译或者解析要好。另外,将jspvelocity两种语法放在一个文件中,一眼望去,不如一种代码看上去更整洁。不过,做为一项技术,我们可学习学习。

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网 关键字: , ,
喜欢MXJAVA的文章,那就通过 RSS Feed 功能订阅阅读吧!

我要评论

*

* 绝不会泄露



返回首页 | 关于我们 | 联系我们 | 广告合作 | 友情链接 | 版权声明