struts.xml配置中的包介绍

本文深入探讨了Struts2框架中包的管理机制,解释了包的作用、命名空间的重要性以及如何继承Struts-default包来利用其核心功能。并通过具体示例展示了如何组织业务相关的Action,以及如何配置包、Action和结果。同时,阐述了访问Action的URL路径构造方法。
摘要由CSDN通过智能技术生成

<package name=”test” namespace=”/test” extends=”struts-default”>

<action name = “HelloWorld” class = “zjh.struts2.lx.HelloWorld” method = “ execute “>

<result name = “ success “ > /success.jsp </result>

</action>

</package>

struts2中使用包来管理action,包的作用和java中的类包是非常类似的,它主要用于管理一组业务功能相关的action。在实际应用中,我们应该把一组业务相关的action放在同一个包下。

如果其它包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下Action的路径的一部分,如访问上面例子的Action,访问路径为:/test/HelloWorld.actionNamespace属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串)。

通常每个包都应该继承struts-default 包,因为struts2很多核心的功能都是拦截器来实现。如:从请求中把请求参数封装到action、文件上传和数据验证行等等都是通过拦截器实现的。Struts-default定义了这些拦截器和result类型。可以这么说:当包继承了struts-default才能使用struts2提供的核心功能。Struts-default包是在struts2-core-2.x.x..jar文件中的struts-default.xml中定义。Struts-default.xml也是struts2默认配置文件。Struts2每次都会自动加载struts-default.xml文件。

包还可以通过abstract=”true”定义为抽象包,抽象包中不能包含action

上面例子中使用到zjh.struts2.lx.HelloWorld类的代码如下:

package zjh.struts2.lx;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {

private String message;

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

public String execute() {

this.message = "这是我的第一个struts2应用程序";

return SUCCESS;

}

}

 

上面例子中使用到的success.jsp的代码如下:


<struts>

<package name="test" namespace="/test" extends="struts-default">

<action name="HelloWorld" class="zjh.struts2.lx.HelloWorld">

<result name="success">/success.jsp</result>

</action>

</package>

</struts>    

 

 

注意:访问struts2action URL路径由两部分组成:即“包的命名空间+action的名称”,例如访问本例中的HelloWorld actionURL路径为:/test/HelloWorld  (注意:完整路径为:http:localhost:8080/内容路径/test/HelloWorld)。另外我们也可以加上.action后缀表示访问此Action应用。

<package name=”test” namespace=”/test” extends=”struts-default”>

<action name = “HelloWorld” class = “zjh.struts2.lx.HelloWorld” method = “ execute “>

<result name = “ success “ > /success.jsp </result>

</action>

</package>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值