Struts2 默认的配置文件为 struts.xml ,该文件需放在 WEB-INF/classes下,在当前工程的 src 下。
目录
1 示例 struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" namespace="/" extends="struts-default">
<action name="helloWorldAction" class="com.rupeng.HelloWorldAction">
<result name="success">
/Success.jsp
</result>
</action>
</package>
</struts>
2 package
①Struts2 把各种 Action 分门别类地组织成不同的包。一个典型的 struts.xml 文件可以有一个或多个包。
②每个 package 元素都
必须有一个 name 属性。
③namespace 可选, 如没有给出, 则以 “/” 为默认值. 若 namespace 有一个非默认值, 调用这个包里的Action, 须把这个属性所定义的命名空间添加到有关的 URI 字符串里。
④package 元素通常要对 struts-default.xml 文件里定义的 struts-default 包进行扩展。包里的所有动作可使用在 struts-default.xml 文件里的result类型和拦截器。
3 action
①action 元素嵌套在 package 内, 表示一个 Struts请求.
②每个 action
必须有一个 name 属性, 该属性和用户请求路径间存在一一对应关系。
③action 元素的 class 属性是可选的。如没配置 class 属性, Struts 将把 com.opensymphony.xwork2.ActionSupport 作为默认值。如配置了 class 属性, 可以使用 method 属性配置该类的一个动作方法。 method 属性的默认值为 execute。method属性缺省时为默认值execute。
4 result
①result 元素是<action> 的一个子元素, 指导struts 在完成动作后控制权转向。 result 元素name 属性对应着 Action 方法返回值。因method方法在不同情况下可能返回不同的值, 所以同一个 action 元素可有多个 result 元素。
②result 元素的 type 属性负责指定结果类型。 type 属性的值必须是在包含当前包或者是当前包的父包里注册过的结果类型,type 属性的默认值为 dispatcher。
③result 元素的 name 属性建立 <result> 和 Action 方法返回值之间的映射关系。
④name 属性的默认值为 “success”。
④name 属性的默认值为 “success”。
5 完整配置图示说明
![](https://i-blog.csdnimg.cn/blog_migrate/3fba854e7a00bb8a75cf778b8673965f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/abac849eeb3003e9f3b7df1374ef1a3a.jpeg)