|
| |
精品推荐 |
 |
|
| |
|
|
|
|
Struts与Velocity集成 五个步骤替代JSP
|
日期:2008年6月6日 作者: 查看:[大字体
中字体 小字体]
|
ISBN:<INPUT type="text" name="isbn"> <INPUT type="submit" value="Submit" name="submit"> </FORM> </BODY> </HTML> 清单 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 的情况下,优势就是简单性、容易学习以及更好的性能。 (出处:清风学院)
上一篇:用 AJAX 来控制书签和回退按钮
下一篇:新手入门之Windows下JSP安装全图解
|
| 相关文章: |
|
|
|
| 相关软件: |
|
| |
|