快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
视图。 ResourceBundleViewResolver 是 Spring 框架中最常用的视图解析程序之一。您需要传递到定义映射到 类和 URL 的视图名的属性文件中。清单 4 显示了 views-phonebook-tiles.properties 文件中的内容。

清单 4. views-phonebook-tiles.properties 文件中的视图定义

home-mvc.class=org.springframework.web.servlet.view.tiles.TilesView home-mvc.url=home-mvc addentry-mvc.class=org.springframework.web.servlet.view.tiles.TilesView addentry-mvc.url=addentry-mvc modifyentry-mvc.class=org.springframework.web.servlet.view.tiles.TilesView modifyentry-mvc.url=modifyentry-mvc

清单 4 中的定义告诉 Spring MVC 模块应用程序中有三个视图,并且每一个视图都是一个 TilesView 。第二行显示特定于表示这些视图的每个页面的 URL。

接下来,您将看到如何将由特定 JSP 实现的实际视图插入到 Tile 布局中。

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

时间:2011-10-13 IBM Arun Chhatpar

将视图与实际 JSP 实现关联起来

清单 2 中所示的布局 Tile 是通用的并将被所有 Web 页面使用。它不知道关于主页、addEntry 或 ModifyEntry JSP 页面内容的任何信息。就是这样设计的,因为它允许您对很多页面重用此布局。不是将 内容硬编码到布局定义页面中,而是在运行时将其作为参数传递到布局页面中。

在 Spring 中,通过定义 XML 定义文件来完成这项工作。清单 5 显示了在电话本应用程序中这是怎 样完成的。

清单 5. 用于在运行时将内容传递到布局页面的定义文件

<tiles-definitions>     <!-- DEFAULT MAIN TEMPLATE -->     <definition name="template" page="/WEB-INF/jsp/phonebook-layout.jsp">        <put name="header"   value="/WEB-INF/jsp/header.jsp"/>        <put name="footer" value="/WEB-INF/jsp/footer.jsp"/>     </definition>      <!-- The Home Page -->      <definition name="home-mvc" extends="template">        <put name="body" value="/WEB-INF/jsp/home-mvc.jsp" type="page"/>     </definition>      <!-- The Add Entry Page -->      <definition name="addentry-mvc" extends="template">        <put name="body" value="/WEB-INF/jsp/addentry-mvc.jsp" type="page"/>     </definition>     <!-- The Modify Entry Page -->     <definition name="modifyentry-mvc" extends="template">        <put name="body" value="/WEB-INF/jsp/modifyentry-mvc.jsp" type="page"/>     </definition> </tiles-definitions>

第一个定义通过为模板提供名称和包含该模板内容的页面来定义默认模板。如果返回至 清单 2(在 phonebook-layout.jsp 中为应用程序定义布局的位置),则会注意到插入到该布局中的视图的名称与在 此模板中定义的那些视图名称相同。因此本质上是将内容与这里的这些定义中的模板关联了起来。

模板定义中的 put 元素将告诉 Tile 框架获取视图的位置。在本例中,页眉视图将从 header.jsp 中 获取其内容,而页脚将从 footer.jsp 中获取其内容。

下一个 Tile

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号