`
desert3
  • 浏览: 2160512 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

struts 1.3.2 module配置以及forward中相对路径的使用

    博客分类:
  • Java
 
阅读更多
定义了module之后,我们的xml中的任何forward配置(global-forwards, action中的forward)中的path属性,(只要不设置contextRelative=true,默认为false),前面都会套上module的prefix(要求这个path的值以admin /打头)。比如我们在admin module中有一个forward,他的path是/jsp/index.jsp,那么,到了URL中就变成了http://<domain name>/<our webapp context name>/jsp/index.jsp了。其实这个行为就是在controller的配置中,forwardPattern的行为(forwardPattern的默认值是$M$P,除非我们手动修改这个配置,否则就是上面的那套规则)。

forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道,URL不改变;redirect则是服务器收到请求后发送一个状态头给客 户,客户将再请求一次,这里多了两次网络通信的来往,URL改变。
forward 会将 request state , bean 等等信息带往下一个 jsp
redirect 是送到 client 端后再一次 request , 所以资料不被保留.
使用 forward 你就可以用 getAttribute() 来取的前一个 jsp 所放入的 bean 等等资料示在浏览器地址栏中的URL一般不一样,而且后者以redirect时的参数(地址)为准。


ActionServlet配置
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<-- 配置系统根路径/ -->
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/config/struts/strutsConfig.xml</param-value>
		</init-param>
<-- 配置管理员后台模块(Module)的/admin路径 -->
		<init-param>
			<param-name>config/admin</param-name>
			<param-value>/WEB-INF/config/struts/strutsConfig-admin.xml</param-value>
		</init-param>
<!-- 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载;正数的值越小,启动该servlet的优先级越高。 -->
		<load-on-startup>2</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

strutsConfig.xml
	<global-forwards>
		<forward name="index" path="index.do" redirect="true" />
		<!-- 画面访问loginAdmin forward的时候,那时的URL路径是带/admin的,/代表当前路径 /../返回不带/admin的URL路径,即根目录路径(对应WebContent目录) -->
		<forward name="loginAdmin" path="/../WEB-INF/pages/jsp/admin/login.jsp" />
	</global-forwards>

	<action-mappings>
		<action path="/*" attribute="af" name="fullLazyForm" type="com.comp.proj.web.struts.{1}Action" parameter="method"
			scope="request" validate="false">
<!-- 系统根路径/URL对应的Action -->
			<forward name="list" path="/WEB-INF/pages/jsp/{1}/list.jsp" />
		</action>
	</action-mappings>

strutsConfig-manager.xml
	<action-mappings>
		<action path="/manager/*" attribute="af" name="fullLazyForm" type="com.comp.proj.web.struts.manager.{1}Action"
			parameter="method" scope="request" validate="false">
<!-- 配置管理员后台的/adminURL路径对应的Action,因此要返回到WEB-INFO目录,必须回退一层。 -->
			<forward name="list" path="/../WEB-INF/pages/jsp/admin/{1}/list.jsp" />
			<forward name="success" path="/manager/{1}.do?method=list" redirect="true" />
		</action>
	</action-mappings>


既然有了Module,就存在module之间相互切换访问的问题了
<action-mappings>
    <action path="/toModule"
    type="org.apache.struts.actions.SwitchAction"/>
    ...
</action-mappings>
http://localhost:8080/toModule.do?prefix=/admin&page=/index.do

在使用forward的时候配置contextRelative=true
<global-forwards>
    <forward name="toModuleB"
        contextRelative="true"
        path="/moduleB/index.do"
        redirect="true"/>
   ...
</global-forwards>

<html:link module="/moduleB" path="/index.do"/>
分享到:
评论

相关推荐

    struts2上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    2. **添加过滤器**:在web.xml中配置`FilterDispatcher`(对于较旧的Struts2版本)或`StrutsPrepareAndExecuteFilter`(对于新版本),并设置`struts.multipart.parser`属性为`jakarta`,以启用Jakarta Commons ...

    mybatis-generator-core-1.3.2

    使用Mybatis Generator时,首先需要在项目的类路径下放置配置文件,并指定要操作的数据库表。配置文件中可以定义生成的Java模型类、Mapper接口和XML映射文件的命名规则。然后,通过执行Java程序或Maven插件,Mybatis...

    mybatis-generator-1.3.2+使用说明

    在您提供的 `mybatis-generator-1.3.2` 压缩包中,包含了使用 MBG 所需的关键组件和文档。 1. **mybatis-generator-core-1.3.2.jar**:这是 MBG 的核心库文件,包含了所有必需的类和方法,用于运行生成代码的任务。...

    Struts2需要的jar包和配置文件

    本篇文章将深入探讨Struts2框架的核心组件、依赖的jar包以及关键配置文件。 首先,让我们来看看Struts2运行所需的jar包: 1. **commons-fileupload-1.2.1.jar**:这是Apache Commons FileUpload库,用于处理HTTP...

    struts2 的类库 commons-io-1.3.2 文档

    通过这些文档,开发者能够深入理解Apache Commons IO库提供的功能,如何在Struts2应用中有效地使用它,以及如何避免使用已被弃用的API。这有助于编写更稳定、更高效的代码,同时也为团队协作和知识传递提供了坚实的...

    apr1.3.2

    本文将详细介绍如何在 Linux 系统中安装和使用 APR 1.3.2 版本,以便于配置和运行 Apache HTTPD。 首先,了解 APR 和 apr-util 的关系至关重要。APR 提供了操作系统的基本功能,如文件操作和线程管理,而 apr-util ...

    jquery1.3.2 中文api

    在使用jQuery时,应遵循一些最佳实践,如避免全局变量污染,合理利用缓存提高性能,理解选择器的性能差异,以及合理使用事件委托等。 综上所述,jQuery 1.3.2 提供了一个强大而灵活的JavaScript工具集,它简化了...

    逆向工程mybatis-generator-1.3.2

    4. **生成代码**:根据数据库信息,MBG自动生成Java实体类、Mapper接口和对应的XML配置文件,这些文件按照我们在配置文件中指定的路径保存。 5. **整合到项目**:将生成的文件引入到项目中,即可在MyBatis框架中直接...

    jquery-easyui-1.3.2 DEMO API 配置文件

    《jQuery EasyUI 1.3.2:DEMO、API与配置详解》 jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的组件和插件,帮助开发者快速构建用户界面。版本1.3.2是这个框架的一个稳定版本,包含了大量的功能和...

    mybatis-generator-core-1.3.2-生成中文注释.zip

    使用Mybatis Generator Core时,首先需要在项目中引入该库,然后配置generatorConfig.xml文件,该文件是Mybatis Generator的核心配置文件,包含了数据库连接信息、生成代码的模板样式以及目标输出路径等关键设置。...

    struts2 文件下载需要的架包 commons-fileupload-1.2 commons-io-1.3.2

    1. 将`commons-fileupload-1.2.jar`和`commons-io-1.3.2.jar`添加到项目的类路径中,这通常意味着将它们放入WEB-INF/lib目录下,如果是Maven项目,则在pom.xml中添加对应的依赖项。 2. 配置Struts2的struts.xml文件...

    nacos 最新版1.3.2

    在1.3.2版本中,开发者可以方便地管理微服务的配置,对配置进行分组、命名空间隔离,以实现不同环境下的差异化配置。当配置发生变化时,Nacos能够自动推送到所有相关的服务实例,确保应用的快速响应和一致性。 三、...

    开发工具 commons-fileupload-1.3.2

    开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...

    eclipse mybatis generator 1.3.2

    3. **运行生成器**:在Eclipse中运行MyBatis Generator,选择配置好的XML文件,插件会根据配置自动生成代码。 4. **查看生成结果**:生成的代码会被添加到Eclipse的工作空间中,检查并导入到项目中,即可开始使用。...

    nacos-server-1.3.2.zip

    本文将详细解析Nacos的核心功能、设计理念以及在1.3.2版本中的更新内容。 Nacos的核心功能包括服务注册与发现、配置管理、健康检查和名字服务。它是一个轻量级的平台,旨在简化微服务架构中的服务管理和配置任务。...

    easyui 1.3.2中文API

    本文将详细介绍EasyUI 1.3.2版本中的几个核心组件——窗口(Window)、日历(Calendar)和下拉框(ComboBox)的使用方法、属性及事件。 一、窗口(Window) 窗口是EasyUI中常用的基础控件,常用于弹出对话框或浮动...

    nacos-1.3.2.zip

    Nacos是阿里巴巴开源的一款分布式服务治理和配置中心的框架,版本1.3.2在此...下载并解压“nacos-1.3.2”后,开发者可以按照官方文档或社区指南进行安装、配置和使用,以便于在自己的项目中集成Nacos提供的强大功能。

    nacos1.3.2win+linux.rar

    部署步骤包括解压文件、设置环境变量、修改配置文件(如`application.properties`),以及使用`sh startup.sh -m standalone`命令启动服务。Linux版本的Nacos同样支持图形化界面,但需额外配置Tomcat或者其他Web...

    JQuery1.3.2

    JQuery1.3.2JQuery1.3.2JQuery1.3.2JQuery1.3.2JQuery1.3.2JQuery1.3.2JQuery1.3.2

Global site tag (gtag.js) - Google Analytics