前言
STRUTS是标准的模型的WEB应用框架其中的ActionServlet代表了模型MVC设计模式中的控制器 STRUTS应用程序一般使用JSP代码生成用户界面这些代码不包括任何商业逻辑代表了MVC中的VIEW部分需要执行商业逻辑的用户界面中的表单或超链将会由控制器 ActionServlet接收和处理在STRUTS中只有一个ActionServlet实例这个实例将接收和处理应用中的相关用户交互请求ActionServlet实例将选择和调用相应的ACTION类来处理商业逻辑在设计模式上ACTION类被称为控制辅助者它将修改JavaBeans这些JavaBeans就是MVC中的 model部分本文将分析在STRUTS中进行模块化编程的具体细节
样例描述
我们将作一个模块编程的例子这个例子包括三个模块缺省模块registration模块和approval模块缺省模块下有资源l我们使用它来连接其它两个模块registration模块和approval模块的编程类似都包含一个indexjsp和一个结果jspresultjsp下面是目录结构
目录结构表明struts的模块由配置文件java类(这里者action和form类)和资源文件构成另外各模块可以共享webxmlmessage (这里是applicatonResourcesproperties)文件
我们的例子的界面交互图可以表示如下
缺省模块的l包括两个链接分别连接两个模块的indexjsp资源registration模块的indexjsp提交后如果验证失败会重新返回到该模块的indexjsp否则用资源resultokjsp显示注册成功的结果模块approval的indexjsp提交后进入到resultokjsp的界面显示批准与否的结果
我们从应用程序的文件组成和交互两方面的模块情况对我们要实现的例子进行了比较清晰的组织下面我们讲解如何在struts中实现模块化编程