struts2:多模块多配置文件开发
struts2支持多模块多配置文件开发。下面是一个仅包含两个模块的示范程序,包括财务、仓库模块。它们都有一个“caiwu“的Action,在各自的命名空间下;还有一个从财务转向到仓库的Action。
1. 创建模块的控制层
财务模块:
package com.clzhang.ssh.demo3; // 财务类
public class CaiwuAction { public String execute() {
System.out.println("执行了财务统计模块"); return "toCaiwu";
}
}
仓库模块:
package com.clzhang.ssh.demo3; // 仓库类
public class CangkuAction {
//属性id的作用是在重定向的过程中传递参数
private int id; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String execute() {
System.out.println("执行了仓库模块,传进来的id=" + id); return "toCangku";
}
}
从财务模块转向到仓库模块(带参数):
package com.clzhang.ssh.demo3; // 不同模块之间的重定向操作
public class FromCaiwu2CangkuAction {
//属性id的作用是在重定向的过程中传递参数
private int id; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String execute() {
id = 999;
System.out.println("从财务模块中的财务转到了仓库中的财务"); return "gotoCangku";
}
}
2. 创建配置文件
财务模块配置文件caiwu.xml(其中包含一个可以从财务模块转向到仓库模块的配置):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="caiwu" extends="struts-default" namespace="/caiwu">
<action name="caiwu" class="com.clzhang.ssh.demo3.CaiwuAction">
<result name="toCaiwu">/ssh/demo3/caiwu.jsp</result>
</action> <action name="fromcaiwu2cangku"
class="com.clzhang.ssh.demo3.FromCaiwu2CangkuAction">
<result name="gotoCangku"
type="redirectAction">
<param name="namespace">/cangku</param>
<param name="actionName">caiwu?id=${id}</param>
</result>
</action>
</package>
</struts>
仓库模块配置文件cangku.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="cangku" extends="struts-default" namespace="/cangku">
<action name="caiwu" class="com.clzhang.ssh.demo3.CangkuAction">
<result name="toCangku">/ssh/demo3/cangku.jsp</result>
</action>
</package>
</struts>
struts.xml配置(使用include标记导入多个配置文件):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<include file="caiwu.xml"></include>
<include file="cangku.xml"></include> <constant name="struts.action.extension" value="action"></constant>
</struts>
3. 创建各模块使用的JSP文件
caiwu.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
显示财务模块
</body>
</html>
cangku.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
显示仓库模块
</body>
</html>
4. 调用
4.1 打开IE,输入:http://127.0.0.1:8080/st/caiwu/caiwu.action
结果如下:

4.2 打开IE,输入:http://127.0.0.1:8080/st/cangku/caiwu.action
结果如下:

4.3 打开IE,输入:http://127.0.0.1:8080/st/caiwu/fromcaiwu2cangku.action?id=987
结果如下:

4.4 上面三项输入的后台输出:
执行了财务统计模块
执行了仓库模块,传进来的id=0
从财务模块中的财务转到了仓库中的财务,id=987
执行了仓库模块,传进来的id=987
struts2:多模块多配置文件开发的更多相关文章
- Struts2分模块开发
-------------------siwuxie095 Struts2 分模块开发 在实际开发中,如果一个项目是团队开发的,也就是很多人开发的, 每个人都需要去修改 struts.xml,因为 s ...
- struts2中struts.xml配置文件详解【未整理】
1. 深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1. 包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...
- Python自动化测试 -ConfigParser模块读写配置文件
C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...
- py 包和模块,软件开发目录规范
目录 py 包和模块,软件开发目录规范 什么是包? 什么是模块? 软件开发目录规范 py 包和模块,软件开发目录规范 什么是包? 包指的是内部包__init__.py的文件夹 包的作用: 存放模块,包 ...
- 用ConfigParser模块读写配置文件——Python
对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Winform开发框架之通用附件管理模块 --SNF快速开发平台3.3-Spring.Net.Framework
最近项目太多都没有时间写文章了,实际项目需求一,CS端和windows平板都需要附件上传管理功能.以前做的都是BS的附件管理和上传功能.本来计划在Winform上嵌套一个浏览器直接用bs的附件上传功能 ...
随机推荐
- java中经常使用的快捷键
Eclipse(MyEclipse) 经常使用快捷键Eclipse 的编辑功能很强大.掌握了 Eclipse 快捷键功能,能够大大提高开发效率. Eclipse中有例如以下一些和编辑相关的快捷键.1. ...
- Python实现微信扫码支付模式二(NativePay)
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7649207.html 核心代码github地址:https://github.com/ygj0930/Pyth ...
- The Builder pattern simulates named optional parameters(Java)
the Builder pattern is a good choice when designing classes whose constructors or static factories w ...
- TP3.2框架,实现空模块、空控制器、空操作的页面404替换||同步实现apache报错404页面替换
一,前言 一.1)以下代码是在TP3.0版本之后,URL的默认模式=>PATHINFO的前提下进行的.(通俗点,URL中index.php必须存在且正确) 代码和讲解如下: 1.空模块解决:ht ...
- java小程序,用java在指定目录或以及子目录中找出同名文件,java File过滤文件名后找同名文件
主要是使用java API“java.io.File”实现 一个简单的类,copy出来,因main方法可直接运行. package com.paic.icore.pams.auto.util; imp ...
- VS2010编译Boost 1.56
(1)首先下载源代码:http://softlayer-dal.dl.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.zip 解压到某个 ...
- C/C++查找一定范围内的素数(筛法)
本文转自于:http://dalu.blogbus.com/logs/37977984.html 由于一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下 ...
- SpringBoot配置属性之Security
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- SourceTree 代码库管理工具
1.SourceTree 简介 SourceTree 是拥有可视化界面的项目版本控制软件,适用于 git 项目管理,window.mac 均可用. 官网下载地址 SourceTree 其它下载地址 S ...
- OpenCV 学习笔记03 threshold函数
opencv-python 4.0.1 简介:该函数是对数组中的每一个元素(each array element)应用固定级别阈值(Applies a fixed-level threshold) ...