参考资源:
关于Jdeveloper 的资源实在是比较少,市面上只有一本讲Jdeveloper开发的书.但是此书没有讲如何开发Structs,我搜了一下,google 里面也只有不到两页的信息.最根本的还是去otn 里找到的:
http://www.oracle.com/technology/global/cn/sample_code/tutorials/bc4jvsm/struts/concepts.htm
这里讲得还不错, 从开始的mvc架构讲起,一直到如何在Jdeveloper 里实现MVC.(Structs),当然,已经用RequestDispatcher 实现过MVC了.这里只是想实现Structs 的MVC.配置Eclipse 等IDE 的J2EE 开发环境实在麻烦,我始终弄不懂IBM的四千万美金开发出来的东西竟然需要那么多插件,为什么不集成起来.联想到oracle 技术日讲的集成,深以为然.可是有点怕,过分倚赖Jdeveoper 的IDE!
“基于 MVC 的系统的模型部分通常包含定义系统内部状态的 JavaBean 类,这些类也指定用于改变此状态的操作。如果使用 BC4J 数据访问框架,则该层将完全实施此模型。否则,需创建实施模型的类。”
也就是说BC4J可以替我们创造模型?
“基于 Structs 的应用程序的视图部分通常用 JSP 技术构造。JSP 页可包含称作“模板文本”的静态 HTML(或 XML)文本,并能插入基于特殊操作标记解释(页请求时)的动态内容。JSP 环境包括一组自定义 JSP 标记库(如Struts 标记库)、标准 JSP 操作标记(如在 JavaServer 页面规范中描述的那些)和安装用户自己的 JSP 自定义标记库的工具。若使用 BC4J 数据访问框架,则可利用 JDeveloper 的 JSP 生成向导和自定义标记库,使 JSP 页显示数据绑定的动态内容。”
讲了开发环境里可以使用的JSP标记,其实标记没有什么难的,只不过是一些常规代码的另一种写法而已,也许更方便一点,尽管我们开始使用不习惯.后面又强调了BC4J的好处,这个东西看来很方便的,也是我很久之前就想弄明白的东西.
“应用程序的控制器部分集中关注于接收客户端的请求(通常是用户运行 web 浏览器),决定执行何种商务逻辑函数,然后授权给适当的视图组件以产生下一阶段的用户界面。Struts 中 Controller 的主要组件是 ActionServlet 类和 RequestProcessor 类的一个 servlet。若使用 BC4J 数据访问框架,RequestProcessor 得到扩充,它通常称为 BC4JrequestProcessor。”
和前面的介绍一样,先是强调了实现Structs 的普遍方法,又讲了实现Structs BC4J里面特殊的类---BC4JrequestProcessor
在structs (MVC)里面的JSP code 特点:
· 可用 HTML 和自定义标记库创建 JSP 页,以便实施数据视图。一旦有 HTTP 请求,即可通过链接使用户触发操作。
· 用一大组自定义 JSP 标记库和 Structs 框架增强 JSP 页。当在“Code Editor”打开一个 JSP 时,可从 JDeveloper 组件选项板中访问所有 Struts 标记库。例如,Struts 表格标记与 Struts 操作和表格组件紧密协作,保持数据项表格状态和验证输入的数据。
· 不同于非 Struts 的 JSP,当运行应用程序时,操作请求并不直接调用另一个 JSP 或 Servlet。而是请求 URI 指定逻辑页请求,由 Structs 控制器提供的请求处理器 (RequestProcessor class) 处理。Struts servlet 可引导操作结果在应用程序适当的 JSP 页中显示,在此情况下页面可根据返回代码的不同而不同。
Struts 框架自定义标记库
标记库 | 说明 |
Structs html | 用以创建 Struts 输入表格和在创建基于 HTML 的用户界面时通常有用的其他标记。 |
Structs Bean | 用于访问组件及其特性、定义新组件(基于这些访问),页面的其余部分可通过脚本编制变量和页面作用域属性访问新组件。同样提供用于创建基于请求 cookies 值、标题和参数的便利机制。 |
Structs logic | 用于管理输出文本的条件生成、循环使用对象集合以重复生成输出文本以及应用程序流管理。 |
Structs Nested | 使 Struts 自定义标记库的功能应用于嵌套的上下文。此标记库旨在使标记识别其周围的标记,从而能为 Struts 系统提供正确的嵌套属性参考。 |
Structs Templates | 三个标记: |
Structs tiles | 提供 Tiles 标记。Tiles 以前称作组件。 |
“JDeveloper 提供一组符合 JSP 1.1 的自定义标记,称为 Business Components for Java (BC4J) 数据标记。BC4J 数据标记的自定义标记库支持与基于 BC4J 框架的商务组件的简单交互。”