首页 > 编程开发 > 将显示层分离出来的利器 - Velocity

将显示层分离出来的利器 - Velocity

2007年9月11日  886 views

  Velocity是我开发必选工具之一。自从三年前第一次用它架构了WEB应用后,就再没有写过jsp了。它吸引我的,不仅仅是强大的模板引擎和对各框架的无缝结合、更重要的是将代码简化到最少的程度。在写页面时,几乎不需要写多余的技术和业务代码。过去几行,甚至几十行jsp语句,利用Velocity,只需要写几句,甚至一句就可以完成。非常方便,快捷。使显示层与业务层几乎完全分离。

下面是jsp写的简单的例子:

<%
Object o = request.getAttribute("test");
if (o != null) {
  Vo vo = (Vo)o;
  if (vo.getName() != null) {
%>   
<%=vo.getName()%>
<% } else { %>
 
<%}%>

  上面的代码是将后台传出来的名称显示在页面中。利用jsp,我们必须先根据key从request中取值对象,并判断该对象是否为null。如果对象不为null,就对它进行转型操作,然后判断对象中的名称属性是否为null,如果不是则在页面中显示名称,是则显示空。java中,需要随时提防空指针,为此不得不对每一个可能出现空指针的对象进行检查。一眼望过,if else出现在程序中每个角落。真的有必要吗?接下来看看利用Velocity以后,这个程序变成了什么样。

$!{test.name}

  不要惊讶,也不要怀疑,上面那句代码的确帮助我们解决了问题。就这么简单。利用Velocity,我们根本不需要关心空指针和转型等所带来的问题。要做得只是取数据就可以了。如此一来,页面上“无用的代码”会大大减少,换句话说,这些“无用的代码”全部转移到后台由Velocity引擎帮我们处理了。

  java的出现改变了以往web应用的传统方式。mvc、ddd等技术,使专业人员更能大显身手。页面设计师面对的不再是一堆堆后台程序代码,而是他们更精通的表示代码,业务程序员,不必一边研究业务,一边学习技术。而技术人员,更不必关心领域,要做的,只是技术。

  还记得asp和php吗?其实我对asp和php都不是熟悉,仅仅是之前使用pjblog和现在的sablog-x才接触了一点点。随意打开其中的某个文件,html代码、业务逻辑、共通方法、sql语句等等,所有的代码都混杂在一起,叫我无从下手。所有的代码都堆在一起出错几率相对来说是比较大的,代码混乱会使调试变得更为困难,不容易除错。更重要的是,你叫页面设计师如何修改客户提出的意见?div + css,嗯,这的确是个好方法,不过,它们也不是万能的。

  如此好用的东西,建议没有用过的j2ee开发者,有时间可以试试看。

编程开发 ,

转载请注明 转载自:MXJAVA Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
  1. 目前还没有任何评论.
  1. 目前还没有任何 trackbacks 和 pingbacks.