文章目录
- 模板
- 标签说明
- package
- action
- result
模板
<?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><!-- 是否启用开发模式 --><constant name="struts.devMode" value="true"/> <package name="hellstruts2" extends="struts-default" namespace="/demo01"><action name="welcome" class="priv.lwx.struts2.WelcomeAction"><result name="success">/welcome.jsp</result><result name="fail">/nameform.jsp</result></action></package>
</struts>
标签说明
package
<package>
的作用是为 <action>
分组,<struts>
标签下可有多个<package>
。name 是 package 的唯一标识,extends 指定被继承的包的名称,一般继承自 Struts2 默认提供的 struts-default 包。该包中定义了很多 Struts2应用必须的组件(比如:拦截器);该 package 声明的位置在 struts2-core.jar/struts-default.xml
文件中。namespace 用来定义包中的 action 的地址的命名空间。namespace="/"
表示没有命名空间。
例如,没有命名空间时,名称为 welcome 的Action 的访问地址如下:
http://localhost:8080/sd/welcome.action
如果 namespace="/demo01",那么名称为 welcome 的 Action 的访问地址如下:
http://localhost:8080/sd/demo01/welcome.action
action
<action>
的作用是指明每个请求对应的 Action 类之间的对应关系,<package>
下可有多个 <action>
。
name="welcome"
,表示 Action 组件的请求名字为 welcome
;class="priv.lwx.struts2.WelcomeAction"
指定了请求名称对应的 Action 类。method="xxx"
,用于指定 Action 实例对象要执行的方法名,该方法的返回值必须是 String类型(规定),没有指定默认调用 Action 对象的 execute()
方法。
result
name 属性表示 Result 组件的名称,和 Action 对象的约定方法的返回值对应,Action 对象约定方法返回哪个 result 标签的 name 值,意味着要转发到哪个 result 标签对应的 Result 组件(通常是 jsp 文件)。