`
zhangzuanqian
  • 浏览: 268773 次
  • 来自: ...
社区版块
存档分类
最新评论

struts 多模块开发

阅读更多
struts1.1开始支持多模块的.


多模块开发是为了解决团队开发时候的一些不必要的捆扰






一、   配置web.xml 文档
添加模块moduleOne、moduleTwo
<!-- mainModule -->
  <init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  
<!-- moduleOne -->
  <init-param>
   <param-name>config/moduleOne</param-name>
   <param-value>/WEB-INF/moduleOne/struts-moduleOne.xml</param-value>
  </init-param>
  
<!-- moduleTwo -->
  <init-param>
  <param-name>config/moduleTwo</param-name>  
  <param-value>/WEB-INF/moduleTwo/struts-moduleTwo.xml</param-value>
  </init-param>
注:<param-name>格式必须这样写,<param-value>是指在WEB-INF目录下新建moduleOne目录再创建struts-moduleOne.xml,struts-moduleOne.xml格式与struts-config.xml相同。在此同时在WebRoot目录下新建moduleOne和moduleTwo的文件夹,用于区分模块和存放页面文件

二、   配置struts-config.xml
<struts-config>
    <data-sources />
    <form-beans type="org.apache.struts.webapp.CustomFormBean" />
    <global-exceptions />
    <global-forwards
      type="org.apache.struts.webapp.CustomActionForward" />
    <action-mappings
      type="org.apache.struts.webapp.CustomActionMapping">
      <action path="/main" forward="/index.jsp" />
    </action-mappings>
    <message-resources parameter="com.accp.struts.ApplicationResources" />
</struts-config>注意: type 这三个类是从何而来的呢??答:自定义的
所以在配置 struts-config.xml之前我们应创建它们,当然每个类都必须extenx 相应的父类,如下:
CustomFormBean extenx FormBeanConfig
CustomActionForward extenx ActionForward
CustomActionMapping extenx ActionMapping
这些类里面可以什么都不写,当然比较好点规范就是在里内添加一个属性,如下:
private String example =””;
相应的get()set()

三、   配置子模块
经过上面的配置基本已完成,那么我们现在来配置moduleOne子模块信息,添加action、actionFrom、jsp。
注意:action 必须extends DispatchAction, jsp页面应放在WebRoot目录下moduleOne
struts-moduleOne.xml如下:
<struts-config>
    <data-sources />
    <form-beans>
      <form-bean name="moduleOneForm"
        type="com.accp.struts.form.ModuleOneForm">
      </form-bean>
    </form-beans>
    <global-exceptions />
    <global-forwards>
      <!-- 转发到moduleTwo module指定哪个模块,全局转发 -->
    <forward module="/moduleTwo" redirect="true" name="succeed" path="/displayUser.jsp"/>
    </global-forwards>
    <action-mappings>
    <!-- 主模块index.jsp link导航 -->
     <action path="/reg" forward="/userRegist.jsp"/>
     <action path="/regist" name="moduleOneForm" scope="session" parameter="user"
       type="com.accp.struts.action.ModuleOneAction">
     </action>
    </action-mappings>
    <message-resources parameter="com.accp.struts.ApplicationResources" />
</struts-config>

index.jsp 如下:
<html:link module="/moduleOne" action="/reg.do">到moduleOne的用户注册</html:link>
注意:module属性,是指定某个模块,对应的就在某个模块配置<action/>

userRegist.jsp 如下:
<html:form action="/regist?user=addUser">
    name : <html:text property="name"/><br/>
    sex : <html:text property="sex"/><br/>
    age : <html:text property="age"/><br/><br/>
    <html:submit value="Submit"/><html:reset value="Reset"/>
</html:form>
注意:user是moduleOne.xml <action parameter="user"……/>因为我们用到了DispatchAction,addUser是指action里的某个方法.

ModuleOneAction.java如下:
public class ModuleOneAction extends DispatchAction {
public ActionForward addUser(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
        ModuleOneForm moduleOneForm = (ModuleOneForm) form;
       System.out.println("name :"+ moduleOneForm.getName());
        System.out.println("age :" + moduleOneForm.getAge());
        System.out.println("sex :" + moduleOneForm.getSex());
        return mapping.findForward("succeed");}}

displayUser.jsp
<body>
    name:${moduleOneForm.name}<br/>
    age:${moduleOneForm.age}<br/>
    sex:${moduleOneForm.sex}<br/>
    <html:link action="/main.do">回到主模块</html:link>
</body>
注意:displayUser.jsp 位于moduleTwo目录,<html:link> 没指定module 所以默认从主模块的struts-config.xml寻找配对的<action>
分享到:
评论

相关推荐

    struts多模块.pdf

    ### Struts多模块开发概述与实践 #### 一、引言 在当今的软件开发领域,多模块开发和软件扩展性已成为评估一个框架优劣的关键指标。尤其对于框架型软件而言,其是否支持多模块开发、是否具备良好的扩展性及与其他...

    struts多模块配制

    在Struts多模块配置中,每个模块代表一个独立的功能或者业务领域,它们之间通过定义良好的接口进行通信,降低了模块间的耦合度。以下是一些关键的知识点: 1. **模块化设计**:模块化是软件工程中的最佳实践,通过...

    struts2 模块包含

    博客链接可能提供了更深入的讲解,包括如何配置和使用Struts2的模块,以及如何利用模块化设计优化项目开发。 通过了解和掌握Struts2的模块化设计,开发者可以更高效地组织和管理代码,降低项目的复杂性,并提高团队...

    struts的模块话开发

    以下是对Struts模块化开发的详细说明。 在Struts框架中,模块通常指的是ActionServlet配置中的 `&lt;package&gt;` 元素。每个`&lt;package&gt;`都可以看作是一个独立的处理单元,包含了特定业务逻辑的Action类、配置文件以及...

    struts1多模块多配置文件

    本文将详细介绍如何在Struts1框架中实现多模块开发,并通过多配置文件来管理不同模块的配置信息。 #### 二、多模块架构的优势 1. **清晰的代码结构**:每个模块都有明确的功能边界,便于理解和维护。 2. **易于扩展...

    Struts多模块[定义].pdf

    Struts框架从1.1版本开始引入了对多模块开发的支持,使得开发者能够将复杂的应用拆分成更小、更易于管理和测试的部分。 在Struts中,每个模块对应一个独立的`struts-config.xml`配置文件,用于定义该模块的行为、...

    Java进阶Struts多模块的技巧.rar

    在Java开发领域,Struts框架是一个非常经典的MVC(Model-View-Controller)架构,用于构建Web应用...通过深入学习和实践“Java进阶Struts多模块的技巧”,开发者可以更好地掌握Struts框架,提升开发效率和软件质量。

    struts多模块

    在开发大型复杂系统时,通常会采用多模块架构来提高代码的可维护性和可扩展性。本文将详细介绍如何在Struts框架下实现多模块配置。 在Struts框架中,多模块的实现主要依赖于Action和配置文件的划分。每个模块可以视...

    struts文档

    ### Struts框架下的多模块开发与扩展 #### 引言 在现代软件工程实践中,多模块开发和软件的可扩展性成为了评估一个框架优劣的关键指标。尤其在Web开发领域,像Struts这样的MVC(Model-View-Controller)框架因其...

    Struts2程序开发实验

    Struts2 程序开发实验报告 Struts2 程序开发实验报告是沈阳工学院的一个实验报告,旨在让学生掌握 Struts2 框架的使用和配置方式,以设计和实现一个论坛系统。该实验报告涵盖了 Struts2 的 action、配置方式、拦截...

    Struts2注解开发jar

    标题提到的"Struts2注解开发jar"主要指的是`struts2-convention-plugin`,这是一个Struts2的插件,它的主要作用是支持基于约定优于配置(Convention over Configuration)的开发模式。描述中提到的`struts2-...

    Struts2独立开发包(2.5.10)

    10. **国际化与本地化**:Struts2支持多语言环境,通过资源文件可以轻松实现应用的国际化和本地化。 11. **插件体系**:Struts2具有丰富的插件系统,如Freemarker插件、Tiles插件、Spring插件等,能够满足各种特定...

    Struts1.0 开发指南 多个文档

    Struts1.0学习文档-初学者入门.doc ...Struts模块化编程教程 .doc struts傻瓜式学习(一天篇).doc 实例学习 Struts.doc 样章第02章 第一个Struts应用helloapp应用.doc 用Struts建立MVC应用的介绍.doc

    struts 实现模块化

    在Struts.xml文件中,你可以为每个模块定义一个或多个Action,每个Action对应一个特定的业务操作。通过配置`&lt;action&gt;`标签,指定Action类、输入输出结果以及异常处理。 2. **包的概念**:在Struts 2中,引入了包...

    Struts更多文章模块

    在本篇文章模块中,我们将深入探讨Struts框架在处理"更多文章"功能时的关键技术和实现方式。 一、Struts框架基础 1.1 Struts概述:Struts是由Apache软件基金会维护的,它的核心是ActionServlet,负责处理HTTP请求,...

    Struts开发模式经验总结

    这种做法可以实现模块化开发,每个模块有自己的配置文件和消息资源,便于管理和维护。在web.xml中通过`config-file`指定多个Struts配置文件,而消息资源文件则根据需要加载不同的语言包。 6. **实战Struts**: - ...

    使用 Easy Struts for Eclipse 开发 Struts

    ### 使用 Easy Struts for Eclipse 开发 Struts #### 一、Easy Struts 插件简介与安装配置 **Easy Struts** 是一个针对 Eclipse 的插件,它极大地简化了使用 **Struts** 框架进行 Web 开发的过程。通过 Easy ...

Global site tag (gtag.js) - Google Analytics