Struts2核心配置:struts.xml详解

需积分: 0 2 下载量 140 浏览量 更新于2024-09-29 收藏 39KB DOC 举报
"struts.xml是Struts2框架中的核心配置文件,它定义了Action的执行逻辑、结果映射以及Action与视图之间的交互。在本文档中,我们将深入探讨struts.xml文件的结构、组成部分以及如何通过XML配置来管理Action的行为。 首先,struts.xml文件的结构通常包含以下部分: 1. XML声明和文档类型定义: - XML版本声明指定XML文件的规范版本(如`<?xml version="1.0" encoding="UTF-8"?>`)。 - 文档类型声明(DOCTYPE)指定了所使用的Struts2配置文件的DTD(文档类型定义),如`<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">`,这确保了XML文件符合Struts2框架的规范。 2. `<struts>`根元素: - 开始标记`<struts>`表示这是一个Struts2的配置文件,其中包含了多个包装器(package)。 3. 定义包装器(package): - `<packagename="example"namespace="/example"extends="struts-default">`:每个包装器都有自己的名字(例如`example`)、命名空间(`namespace`,用于区分不同应用或模块下的Action)以及可能继承的默认配置(如`struts-default`)。 4. 定义Action: - `<action>`元素用于定义具体的Action。例如: - `<action name="HelloWorld" class="example.HelloWorld">`:定义了一个名为`HelloWorld`的Action,其实现类为`example.HelloWorld`。 - `<result>`标签用于指定Action执行完成后将跳转到哪个视图,如`<result>/example/HelloWorld.jsp</result>`,表示当HelloWorld Action执行完毕后,页面将显示`example/HelloWorld.jsp`。 5. 结构灵活性: - 动作方法的匹配规则可以通过`<actionname="Login_*" method="{1}" class="example.Login">`实现,这里的`*`代表通配符,`method="{1}"`意味着方法名由URL路径中的下一个部分决定,如`/example/Login_success`会调用`Login_success`方法。 6. 结果类型: - 结果可以是视图页面、重定向或者其他的Action。如`<resultname="input">/example/Login.jsp</result>`定义了当用户输入错误时返回`Login.jsp`,而`<resulttype="redirect-action">Menu</result>`则表示在Login Action完成后,将用户重定向到`Menu` Action。 7. 具有通用行为的Action: - `<action name="*" class="example.ExampleSupport">`定义了一个通配符Action,当所有其他Action没有匹配到特定的请求时,将执行`ExampleSupport`类的方法,并根据`{1}`等占位符动态确定结果路径。 总结来说,struts.xml文件是Struts2框架的核心配置文件,通过细致地配置各个Action、结果和命名空间,开发者能够灵活地控制Web应用的业务流程和用户体验。理解并熟练掌握struts.xml的结构和配置方式,对于构建高效、可维护的Struts2应用至关重要。