Struts如何实现Model 2, MVC, 和层

      Struts 通过提供一个控制器Servlet 实现了Sun 的 Model 2 架构,这个控制器可以用来管理JSP 页面和其他表现设备之间的流程。Struts 通过使用ActionForward和ActionMapping来保证表现层之外的控制流决策来实现 MVC/层 模式。JSP 可以引用一个逻辑目标。控制器组件在运行是提供准确的URI。
      表列出了Struts 的核心类,即对应的经典的MVC 组件职责。

      

描述
ActionForward 用户指向或者视图选择
ActionForm 状态改变的数据
ActionMapping 状态改变事件
ActionServlet 控制器,接受用户请求和状态改变,以及发出视图选择
Action 控制器的一部分,与模型交互,执行状态改变或状态查询,
以及告诉ActionServlet 下一个选择的视图

      除了这些核心类, Struts 使用一些配置文件和视图助手(view helpers)来沟通控制器和模型。下表列出了Struts 配置文件和描述了他们在架构中的角色。

文件 目的
ApplicationResources.properties 存储本地化信息和标签,以使应用可以国际化
struts-config.xml 存储控制器对象的缺省配置,包括模型支持的用户指向,状态改变,状态查询

      为将Struts 配置数据暴露给视图,框架以JSP 标签的形式提供了大量的助手类,如表:

      标记库描述符 目的
      struts-html.tld ------->扩展HTML Form的JSP标记
      struts-bean.tld ------>扩展处理JavaBean的JSP标记
      struts-logic.tld ------->扩展测试属性值的JSP标记

      将以上内容放在一起,下表按层列出了Struts 组件:

      视图层 控制器层 模型层

      ------------------------------------------------------
      JSP 标签扩展


      ActionForward
      ActionForm 类
      ActionMapping
      ActionServlet
      Action 类
      ActionErrors
      MessageResources


      GenericDataSource

      ---------------------------------------------------------


      JSP, Velocity 模板, 以及其他表现系统


      各种工具类, 比如CommonsDigester和CommonsBeanUtil


      开发者提供的其他数据服务和API

猜你喜欢

转载自bluenemo.iteye.com/blog/1626724