struts-tiles部分(续)

上传人:第*** 文档编号:53483225 上传时间:2018-09-01 格式:PPT 页数:23 大小:316KB
返回 下载 相关 举报
struts-tiles部分(续)_第1页
第1页 / 共23页
struts-tiles部分(续)_第2页
第2页 / 共23页
struts-tiles部分(续)_第3页
第3页 / 共23页
struts-tiles部分(续)_第4页
第4页 / 共23页
struts-tiles部分(续)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《struts-tiles部分(续)》由会员分享,可在线阅读,更多相关《struts-tiles部分(续)(23页珍藏版)》请在金锄头文库上搜索。

1、Struts视图层的Tiles介绍,如果想要单独使用 Tiles ,请访问http:/www.lifl.fr/dumoulin/tiles/,续一,课程内容,UI简介 Struts框架与Tiles 框架 协同使用 Tiles 与 Struts 协同使用 Tiles 与 Struts步骤 协同使用 Tiles 与 Struts-继承 作业内容 作业要求,Struts框架与UI,Struts 是有名的模型-视图-控制器(Model-View-Controller,MVC)框架方面的开放源码体现之一,它提供了一种便利的方式,可以用于将模块化应用程序清楚地分解成逻辑、表示和数据。Java 服务器页面(

2、JavaServer Pages,JSP)在 MVC 框架中的作用通常是作为视图(View),它根据业务逻辑和数据生成动态的用户界面(UI)。,Tiles 框架与UI,Tiles 框架增强了基于组件的设计和 Web UI 设计中的模板概念。它可以帮助开发人员解除 Web UI 组件之间的耦合并重用它们。另外,Tiles 模板及其继承特征能够以最小量的工作为 Web 应用程序设计出一致的外观。,Struts框架与Tiles 框架,Tiles 框架增强了基于组件的 Web UI 开发的设计,它和 Struts 框架的组合工作得很好。您可以很容易的协同 WebShpere Studio 使用 Til

3、es 和 Struts 框架以显著降低您的 Web 开发工程的开发时间和维护代价。,协同使用 Tiles 与 Struts,一个使用 Struts 框架的 Web 应用通常有多个 Action 类,其中每一个代表一些业务逻辑处理。 Action 类通过使用一个在 struts-config.xml 文件中定义的逻辑名称将响应委托给一个客户机。这个 MVC 设计模式将表示层从业务逻辑层中分离出来。示例 1. 使用 Struts 动作 Forwardif (Status = OK)ActionForward forward = mapping.findForward(“success“);else

4、ActionForward forward = mapping.findForward(“failure“);return (forward);,在 Struts 动作 Forward 中使用的逻辑名称为集成 Struts 和 Tiles 提供了一种可能性。通过使用 Tiles 模板特征,具体的 JSP 页面可以不包含任何 HTML 代码,而是用单纯的 Tiles 标签插入到模板,然后将逻辑视图组件映射到它们的实现中。Tiles 框架使得您可以通过定义名称来将具体页面分组到一个 XML 文件中,这些定义名称可以映射到 Struts 动作 Forward 使用的逻辑名称。,协同使用 Tiles

5、与 Struts的步骤-可能性,协同使用 Tiles 与 Struts的步骤(1),1)、将具体 Web 页面( Solutions.jsp 和 News.jsp )分组到 Web 项目 forwardDefinition.xml 的 WEB-INF 文件夹中的一个 XML 文件。在分组之后,就不再存在任何具体页面(比如 Solutions.jsp 或 News.jsp )。取而代之的是,可以用逻辑名称(比如 solutionsDef 和 newsDef )定义它们。 示例 2. forwardDefinition.xml,协同使用 Tiles 与 Struts的步骤(1)续,协同使用 Til

6、es 与 Struts的步骤(2),2)、从 XML 源码修改 struts-config.xml 并添加以下代码,使得能够在 Struts 框架中使用 Tiles 插件。在启用插件之后,Application Developer 可能显示有效性检查错误,但是您可以忽略这些错误。 示例 3.struts-config.xml 中新的代码段,协同使用 Tiles 与 Struts的步骤(3)不是必须,3)、修改 Web.xml 并为 ActionServlet 创建一个附加的初始化参数,参数名为 definitions-config ,其值为在步骤 1 中定义的 XML 文件的位置 /WEB-I

7、NF/forwardDefinition.xml 。在Web.xml代码段添加新的代码段definitions-config/WEB-INF/forwardDefinition.xml ,协同使用 Tiles 与 Struts的步骤(4),4)、过以下代码创建一个 Action 类(例如 SolutionAction ): 示例 5. SolutionAction public class SolutionsAction extends Action public ActionForward execute(ActionMapping mapping,ActionForm form,HttpS

8、ervletRequest request,HttpServletResponse response)throws Exceptionreturn mapping.findForward(“success“); ,协同使用 Tiles 与 Struts的步骤(5),5)、在编辑器中打开 struts-config.xml 文件,您将会看到一个名为 /solutions 的 Action Path 。将一个新的 Forward 添加到 /solutions Action Path。将其命名为 success 并将 Path 指定为在步骤 1 的 forwardDefinition.xml 中定义

9、的 solutionsDef。 struts-config.xml,协同使用 Tiles 与 Struts的步骤(6),6)、通过将浏览器定位到 http:/localhost:8080/tilesdemo1/solutions.do 来调用该解决方案的动作。其结果应该与 Solutions.jsp 一样。,协同使用 Tiles 与 Struts小结,1) 、Tiles 与 Struts协同使用的基础2)、协同使用Tiles 与 Struts的步骤及具体操作3)、通过 Tiles 模板特征,布局从单个页面中分离出来了;协同使用Tiles 与 Struts,又改变了什么了呢,协同使用 Tiles

10、 与 Struts-进阶内容(继承),通过 Tiles 模板特征,布局从单个页面中分离出来了。但是还存在一个问题:如果页脚实现页面从 Footer.jsp 更改为 Footer-New.jsp ,还得将单个页面(不使用 Struts)或 XML 定义(使用 Struts)中的页脚属性值更改为新的 JSP 名称。我们需要一个更高级的解耦,而 Tiles 继承特征提供了这样一个解决方案。,协同使用 Tiles 与 Struts-继承(实现思路),在定义配置文件 forwardDefinition.xml 时, solutionsDef 和 newsDef 的定义看起来很像。它们都有指向一个固定的

11、JSP 的页头、导航条和页脚。Tiles 有一个高级特性使得定义之间可以继承。因此,可以定义一个基定义来指定通用的映射,然后让其他的定义(比如 solutionsDef 和 newsDef )从基定义继承并指定任意的自定义映射。,协同使用 Tiles 与 Struts-继承(实现代码),/,协同使用 Tiles 与 Struts-继承(实际意义),可以使用标准的URL 来调用 Struts 动作。 使用 Tiles 继承特征消除了定义文件中重复的 XML 代码。该解决方案节省时间,在一个 Web 应用中有很多页面共享相同的组件时尤其如此。此外,如果想将页脚的实现从 Footer.jsp 更改成

12、 Footer-New.jsp ,只需要修改一个 baseDef 而不需要改动其他的定义。Tiles 继承特征更进一步地将定义分离开来并降低维护成本。 /././.,作业内容 - Tiles 继承和 Struts 实践(1),1)、将浏览器指向 http:/localhost:8080/StrutsTilesDemo/solutions.do 将会看到如下页面:,作业内容 - Tiles 继承和 Struts 实践(2),2)、将浏览器指向 http:/localhost:8080/StrutsTilesDemo/news.do?name=Jane 将会看到如下页面:,作业内容 - Tiles 继承和 Struts 实践(3),3)、如果想把主体和导航布局调换一下,如何去做到的。,作业要求,1)、需要有详尽的doc文档或ppt文档来支撑作业的完整过程。拒绝算命式的、盲目的或知其然不知其所以然的晕子。 2)、StrutsTilesDemo为名字的web project。方便阅读作业时,运行代码的URL请求。拜托的事。 3)、望能交一份高质量的作业,在要来临的冬天里被你的用心温暖一下、慰藉一下。lmg 2011-11-16,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号