Struts|struts.xml三个元素package,action,result详解

Struts2 默认的配置文件为 struts.xml ,该文件需放在 WEB-INF/classes下,在当前工程的 src 下。

目录

1 示例 struts.xml

2 package

3 action

4 result

5 完整配置图示说明


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”。

5 完整配置图示说明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不甩锅的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值