多模块开发示例:(Eclipse3.2+MyEclipse5.0)
1.新建一个Web Project
2.添加Struts 1.2 支持
3.在根目录(WebRoot)下新建index.jsp页面
4.在WebRoot目录下新建一个模块目录“ModuleA”。
5.新建一个struts 1.2 module,名为“ModuleA”。
6.测试直接链接到其他模块的jsp页面(注意不能直接链接到其他模块的与Action、ActionForm相关联的页面):
在根目录的index.jsp页面中添加如下代码:
<html:link module="/ModuleA" page="/index.jsp">1.链接到其他模块(ModuleA)直接链接到页面</html:link><br>适用于没有和Action,ActionForm关联的纯JSP页面<br><p>
在ModuleA目录下新建index.jsp页面,完成后测试成功。
7.测试直接链接到其他模块的jsp页面(直接链接到其他模块的与Action、ActionForm相关联的页面,应该不能成功):
首先配置struts-config-ModuleA.xml文件:
新建一个Form、Action and JSP,用例中填写user,添加两个属性:name,password。
在JSP选项卡中填写“/ModuleA/login.jsp”,点击下一步,在Path中填写“/login”,在forward选项卡中添加一个forward,name为“OK”,Path为“/welcome.jsp”,点击完成。
在ModuleA目录下新建wellcome.jsp文件,在源码中加入如下代码:
<bean:write name=”userForm” property=”name” />.在UserAction.java源码中填写如下代码:return mapping.findForward(“OK”)。
在根目录下的index.jsp源码中添加如下代码:
<html:link module="/ModuleA" page="/login.jsp">2.链接到其他模块(ModuleA)试图连接到和Action,ActionForm关联的页面</html:link><br>不能直接这样链接,会报Cannot retrieve mapping for action /xxx异常,因为此时还是检查struts-config.xml<br><p>
测试后果然异常。
正确做法如下:
在struts-config-ModuleA.xml文件中添加一个Action,在用例中填写“toLoginPage”,在forward选项卡中添加一个forward,name为“toLoginPage”,Path为“/login.jsp”。
修改ToLoginPage.java的源码为:return mapping.findForward(“toLoginPage”);。
在根目录下的index.jsp源码中添加如下代码:
<html:link module="/ModuleA" page="/toLoginPage.do">3.链接到其他模块(ModuleA)的xxxx.do,连接到和Action,ActionForm关联的页面</html:link><br>正确做法,是对2链接形式的更正,应该链接到ModuleA的一个Action,由该Action的forward转发到login.jsp页面<br><p>
经测试成功。
8.测试跨模块表单提交(从主模块提交表单到ModuleA模块):
在struts-config.xml(主模块)中新建Form、Action and JSP,用例中输入“reg”,增加两个属性:sex、age,点击下一步,在Path中填写“/userReg”,Action Impl中选择Use existing Action class,使用SwitchAction,直接finish掉。添加根目录下的indexs.jsp文件源码如下:
4.提交表单到其他模块:<br>
<html:form action="/userReg?prefix=/ModuleA&page=/regOK.jsp">
sex : <html:text property="sex"/><html:errors property="sex"/><br/>
age : <html:text property="age"/><html:errors property="age"/><br/>
<html:submit/><html:cancel/>
</html:form><br><p>。
在ModuleA文件夹下新建regOK.jsp文件,在regOK.jsp文件源码中写入如下语句:
regOK,your sex is:<bean:write name="regForm" property="sex"/> age is:<bean:write name="regForm" property="age"/>
经测试成功。
9.测试跨模块表单提交(从ModuleA模块提交表单到ModuleB模块):
新建struts1.2模块,叫“ModuleB”,在WebRoot目录下新建文件夹“ModuleB”,配置struts-config-ModuleB.xml文件:
新建Form、Action and JSP,在用例中输入“employee”,增加两个属性:empName、depName,在JSP选项卡中填写“/ModuleA/empInfo.jsp”,点击下一步,Path中填写“/employee”,在Action Impl中选择Use existing Action class,使用SwitchAction,直接finish掉。
修改empInfo.jsp文件源码:<html:form action="/employee?prefix=/ModuleB&page=/showEmp.jsp">…。
在ModuleB文件夹中新建showEmp.jsp文件,修改showemp.jsp源码为:<bean:write name="employeeForm" property="empName"/>。
在struts-config-ModuleA.xml文件中,增加一个Action,在用例中输入“empInfo”,增加一个forward,name为“/empInfo.jsp”。在根目录下的index.jsp文件中增加如下内容:
5.提交表单到其他模块(子模块到子模块):<br>
<html:link module="/ModuleA" page="/empInfo.do">链接到模块(ModuleB)的empInfo.do</html:link><br>链接到ModuleA的一个Action,由该Action的forward转发到empInfo.jsp页面<br><p>
最后修改EmpInfoAction.java源码:return mapping.findForward("empOK");
经测试成功。
分享到:
相关推荐
整个文档中的例子 博文链接:https://zhangzuanqian.iteye.com/blog/214982
### Struts多模块开发概述与实践 #### 一、引言 在当今的软件开发领域,多模块开发和软件扩展性已成为评估一个框架优劣的关键指标。尤其对于框架型软件而言,其是否支持多模块开发、是否具备良好的扩展性及与其他...
在Struts多模块配置中,每个模块代表一个独立的功能或者业务领域,它们之间通过定义良好的接口进行通信,降低了模块间的耦合度。以下是一些关键的知识点: 1. **模块化设计**:模块化是软件工程中的最佳实践,通过...
博客链接可能提供了更深入的讲解,包括如何配置和使用Struts2的模块,以及如何利用模块化设计优化项目开发。 通过了解和掌握Struts2的模块化设计,开发者可以更高效地组织和管理代码,降低项目的复杂性,并提高团队...
以下是对Struts模块化开发的详细说明。 在Struts框架中,模块通常指的是ActionServlet配置中的 `<package>` 元素。每个`<package>`都可以看作是一个独立的处理单元,包含了特定业务逻辑的Action类、配置文件以及...
Struts框架从1.1版本开始引入了对多模块开发的支持,使得开发者能够将复杂的应用拆分成更小、更易于管理和测试的部分。 在Struts中,每个模块对应一个独立的`struts-config.xml`配置文件,用于定义该模块的行为、...
本文将详细介绍如何在Struts1框架中实现多模块开发,并通过多配置文件来管理不同模块的配置信息。 #### 二、多模块架构的优势 1. **清晰的代码结构**:每个模块都有明确的功能边界,便于理解和维护。 2. **易于扩展...
在Java开发领域,Struts框架是一个非常经典的MVC(Model-View-Controller)架构,用于构建Web应用...通过深入学习和实践“Java进阶Struts多模块的技巧”,开发者可以更好地掌握Struts框架,提升开发效率和软件质量。
在开发大型复杂系统时,通常会采用多模块架构来提高代码的可维护性和可扩展性。本文将详细介绍如何在Struts框架下实现多模块配置。 在Struts框架中,多模块的实现主要依赖于Action和配置文件的划分。每个模块可以视...
Struts2 程序开发实验报告 Struts2 程序开发实验报告是沈阳工学院的一个实验报告,旨在让学生掌握 Struts2 框架的使用和配置方式,以设计和实现一个论坛系统。该实验报告涵盖了 Struts2 的 action、配置方式、拦截...
Struts1.0学习文档-初学者入门.doc ...Struts模块化编程教程 .doc struts傻瓜式学习(一天篇).doc 实例学习 Struts.doc 样章第02章 第一个Struts应用helloapp应用.doc 用Struts建立MVC应用的介绍.doc
在Struts.xml文件中,你可以为每个模块定义一个或多个Action,每个Action对应一个特定的业务操作。通过配置`<action>`标签,指定Action类、输入输出结果以及异常处理。 2. **包的概念**:在Struts 2中,引入了包...
10. **国际化与本地化**:Struts2支持多语言环境,通过资源文件可以轻松实现应用的国际化和本地化。 11. **插件体系**:Struts2具有丰富的插件系统,如Freemarker插件、Tiles插件、Spring插件等,能够满足各种特定...
这种做法可以实现模块化开发,每个模块有自己的配置文件和消息资源,便于管理和维护。在web.xml中通过`config-file`指定多个Struts配置文件,而消息资源文件则根据需要加载不同的语言包。 6. **实战Struts**: - ...
标题提到的"Struts2注解开发jar"主要指的是`struts2-convention-plugin`,这是一个Struts2的插件,它的主要作用是支持基于约定优于配置(Convention over Configuration)的开发模式。描述中提到的`struts2-...
在本篇文章模块中,我们将深入探讨Struts框架在处理"更多文章"功能时的关键技术和实现方式。 一、Struts框架基础 1.1 Struts概述:Struts是由Apache软件基金会维护的,它的核心是ActionServlet,负责处理HTTP请求,...
### Struts框架下的多模块开发与扩展 #### 引言 在现代软件工程实践中,多模块开发和软件的可扩展性成为了评估一个框架优劣的关键指标。尤其在Web开发领域,像Struts这样的MVC(Model-View-Controller)框架因其...
在Struts框架中,七个核心的JAR文件对于开发和运行Struts应用至关重要。这些JAR文件提供了Struts框架所需的各种组件和服务,使得开发者能够更有效地构建动态、交互式的Web应用。 1. **struts-core-x.x.x.jar**:这...