快速业务通道

Apache Geronimo和Spring框架,第6部分:Spring MVC:使用Web视图技术 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
定义将定义主页。它将扩展默认模板并简单地将主体插入 home-mvc.jsp 页面中。如果 仔细查看此定义,您将看到如何构建主页。以下是详细操作过程:

由于 home-mvc 扩展了默认模板,因此它将自动从电话本布局中获取页眉和页脚内容。

此定义将通过指向 home-mvc.jsp 页面把主体置入主页中。

Spring MVC 框架在运行时将把所有 JSP 收集到一起并将内容作为一个单页面传递回给客户机。这是 一种干净而简单的方法来编写 Web 应用程序。

Apache Geronimo和Spring框架,第6部分:Spring MVC:使用Web视图技术(8)

时间:2011-10-13 IBM Arun Chhatpar

构建并运行它

查看运行的最简单且最快速的方法是使用 Geronimo Web 控制台部署 phonebook.war 文件。您可以按 照 第 2 部分 中的说明部署 .war 文件。部署了 .war 文件后,请将浏览器指向 http://localhost:8080/phonebook/home-mvc.act 以查看运行中的启用了 Tile 的应用程序。图 4 显示 了执行它之后主页的外观。

图 4. 浏览器中启用了 Tile 的主页

现在您已经看到了 Tile 与 Spring 框架在 Geronimo 应用服务器上协同工作,您可以继续将 Velocity 集成到应用程序中。

将 Velocity 集成到应用程序中

此部分将展示如何将 JSP 替换为使用 Velocity 定义的视图 —— 也称为 Velocity 视图或 .vm 文 件。您将了解到通过仅对配置文件做出更改就可以更改视图技术是多么简单。Web 应用程序必须包括 velocity.x.jar 文件才能使用 Velocity (请参阅 先决条件),因此请确保已经将该 .jar 文件复制到 了 WEB-INF/lib 目录中。

将 Velocity 配置到 Spring 的 Application Context 中

有两种方法可以让 ApplicationContext 知道 Velocity 模板的存在。第一种方法是使用 VelocityConfigurer。您需要做的工作就是在 resourceLoaderPath 中提供 Velocity 模板的位置, VelocityConfigurer 将在运行时使来自该位置的所有模板都可用于应用程序。

另一种方法(且为首选方法)是定义自己的控制器,然后使用该控制器来定位视图。清单 6 显示了 phonebook-servlet.xml 文件中的这些 bean 定义。

头两个 bean 定义定义了对 home.vel 页面的请求应当由 PhonebookVelocityController 类来控制。 您将在以后的部分中定义此类。第三个 bean 定义使用了 VelocityViewResolver 来解析带有 .vm 扩展 名的所有页面请求。

Apache Geronimo和Spring框架,第6部分:Spring MVC:使用Web视图技术(9)

时间:2011-10-13 IBM Arun Chhatpar

清单 6. 让上下文知道 Velocity 视图的存在的 Bean 定义

<bean id="urlMapping"   class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">      <property name="mappings">        <props>            <prop key="/*.do">phonebookController</prop>            <prop key="/*.htm">phonebookFlowController</prop>            <prop key="/*.flow">phonebookFlowController</prop>            <prop key="/addentry-mvc.act">addEntryFormController</prop>            <prop key="/home-mvc.act">phonebookHomeController</prop>            <prop key="/modifyentry-mvc.act">modifyEntryFormController</prop>            <prop key="/deleteentry-mvc.act">deleteEntryFormController</prop>          

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号