Struts与Velocity集成 五个步骤替代JSP(3)

2008-02-23 07:59:44来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  
  清单 4 是一个没有 JSP 或 Struts 标记的典型的 HTML 页面。但是,以下元素看起来可能不是那么熟悉:
  
  (1)用 $!errors.msgs() 得到错误消息队列中的错误消息。
  
  (2)用 $link.setAction('/search') 获得搜索转发的 URL。
  
  这就成功了 ?? 模板剩下的部分看起来几乎与以前熟悉的 HTML 文件相同。清单 5 显示了应用程序结果页面的模板。
  
  清单 5. 结果页面的 Velocity 模板
  
  <html>
  <body>
  
  <h1>Book Details</h1>
  <a href="$link.setForward("searchEntry")">Search again</a> |(1)
  
  <h3>$book.title</h3> |(2)
  
  <b>ISBN:</b>$book.isbn<br>|(3)
  <b>Title:</b>$book.title<br>|(4)
  <b>Author:</b>$book.author<br>|(5)
  <b>Price:</b>$book.price<br>|(6)
  <b>No Pages:</b>$book.pages<br>|(7)
  <b>Description:</b>$book.description<br>|(8)
  <b>Publisher:</b>$book.publisher<br>|(9)
  </body>
  <html>
  
  可以注意到,清单 5 中不包含 JSP 标记或 Struts 标记。我们来详细看看它:
  
  (1)用 Struts 的链接工具把 <a> 标记的 href 设置为 Struts 转发。
  
  (2)访问 $book title 属性。
  
  (3)访问 $book isbn 属性。
  
  (4)再次访问 $book title 属性。
  
  (5)访问 $book author 属性。
  
  (6)访问 $book price 属性。
  
  (7)访问 $book pages 属性。
  
  (8)访问 $book description 属性。
  
  (9)访问 $book publisher 属性。
  
  讨论
  
  这就是把 Struts 与 Velocity 模板引擎集成的全部工作。表面看起来非常简单(实际上也很简单),但是请想想是什么让这个集成能够工作的呢?
  
  Struts 动作映射可以定义任何视图,不仅限于 JSP。在这篇文章中,我只是把动作映射修改为以 vm 结尾而不是以 jsp 结尾的返回文件。然后,我声明了 Velocity servlet,并告诉 Servlet 容器把以 vm 结尾的文件发送给 VelocityViewServlet。
  
  VelocityViewServlet 把 Velocity 命令表示成 HTML 响应。通过这种方式,VelocityViewServlet 充当了视图响应的拦截器。Struts 控制器把视图转发给 VelocityViewServlet,后者在向客户端发送响应之前处理 vm 文件。请参阅 参考资料 获得关于将 Velocity 视图集成进 Struts 应用程序的更多内容。
  
  结束语
  
  正如在本文中看到的,Struts 与 Velocity 的集成很简单。只需五个步骤就可以把所有东西连在一起。针对不同的引擎和场景,采用模板引擎而不是 JSP 的优势各有不同。在 Velocity 的情况下,优势就是简单性、容易学习以及更好的性能。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:J2ME程序开发全方位基础讲解汇总

下一篇:Apache与Tomcat整合问题的新方法