Action的配置
2015-06-11 10:30
253 查看
计应134 徐雪双
在Struts2中,一个Action类是一个独立的工作单元。一个Action类代表了用户的一次请求或调用,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理。简单来说,Action就是用来处理用户请求的对象。
Action类是Struts2的核心功能,对于开发者而言,使用Struts2就是编写Action类。
在Struts2中,Action以多种形式存在,例如在Java类充当Action、继承ActionSupper类实现Action接口和Action。
Struts2最大的特点:Action类可以是一个普通的Java类,实现了与Servlet API的完全分离。它包含了无参数的execute()方法、成员变量及其setter()和getter()方法。
public class HelloWorld {
private String message;
public String getMessage(){
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String execute(){
if(message.equals(“”)){
return “error”;
}else{
Return “success”;
}
}
}
Struts2提供了一个com.pensymphony.xwork2.Action接口和实现该接口的execute()方法,该方法为:
public String execute() throws Exception
在实际开发中,action类很少直接实现Action接口,通过继承ActionSupper来实现Action是最常用的方法,ActionSupper实现了Action接口,还实现了Validateable接口、ValidationAware接口、TextProvider接口等,提供了输入验证、国际化、execute等常用方法,使得用户在编写Action时代码更加简单。选择从ActionSupport继承,可以简化action的定义。
然而Action要正确运行,则需要在Struts.xml中配置才可以使用。而struts.xml文件是Struts应用中一个非常重要的核心配置文件,要负责管理业务控制器Action。
<package>元素:Struts2通过包来管理Action、拦截器等核心组件。它把逻辑上相关的一组Action、Result、Intercepter等元素封装成一个独立的模块,简称为包。package可以继承其他的package,也可作为父包被其他的package继承。Package元素的属性如下:
name:包名,作为其他包引用本包的标识符,该属性必须配置。
extends:用于继承其他的包,后面配置的是被继承的包的名称,该属性为可选
namespace:包的命名空间,该属性为可选。同一命名空间不能有同名的Action。namespace可防止action重名的冲突,因在配置了namespace后,在访问action时就需添加namespace来作为action的前缀。若没有配置namespace,则表示是默认的namespace,在访问时就不需添加namespace前缀。
abstract:设置为抽象包,也就是不能包含Action的定义,该属性为可选。可被其他包继承,因此里面可定义其他包所需元素,如ResultType、Interceptor等。
配置时需注意:
<action>元素时<package>元素的子元素,应配置在<package>元素里面
<package>元素可以把
<action>元素需配置name和class属性,其中name是必须的
<action>元素可以包含其他的子元素:<param>、<result>、<interceptor-ref>
在Struts2中,一个Action类是一个独立的工作单元。一个Action类代表了用户的一次请求或调用,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理。简单来说,Action就是用来处理用户请求的对象。
Action类是Struts2的核心功能,对于开发者而言,使用Struts2就是编写Action类。
在Struts2中,Action以多种形式存在,例如在Java类充当Action、继承ActionSupper类实现Action接口和Action。
Struts2最大的特点:Action类可以是一个普通的Java类,实现了与Servlet API的完全分离。它包含了无参数的execute()方法、成员变量及其setter()和getter()方法。
public class HelloWorld {
private String message;
public String getMessage(){
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String execute(){
if(message.equals(“”)){
return “error”;
}else{
Return “success”;
}
}
}
Struts2提供了一个com.pensymphony.xwork2.Action接口和实现该接口的execute()方法,该方法为:
public String execute() throws Exception
在实际开发中,action类很少直接实现Action接口,通过继承ActionSupper来实现Action是最常用的方法,ActionSupper实现了Action接口,还实现了Validateable接口、ValidationAware接口、TextProvider接口等,提供了输入验证、国际化、execute等常用方法,使得用户在编写Action时代码更加简单。选择从ActionSupport继承,可以简化action的定义。
然而Action要正确运行,则需要在Struts.xml中配置才可以使用。而struts.xml文件是Struts应用中一个非常重要的核心配置文件,要负责管理业务控制器Action。
<package>元素:Struts2通过包来管理Action、拦截器等核心组件。它把逻辑上相关的一组Action、Result、Intercepter等元素封装成一个独立的模块,简称为包。package可以继承其他的package,也可作为父包被其他的package继承。Package元素的属性如下:
name:包名,作为其他包引用本包的标识符,该属性必须配置。
extends:用于继承其他的包,后面配置的是被继承的包的名称,该属性为可选
namespace:包的命名空间,该属性为可选。同一命名空间不能有同名的Action。namespace可防止action重名的冲突,因在配置了namespace后,在访问action时就需添加namespace来作为action的前缀。若没有配置namespace,则表示是默认的namespace,在访问时就不需添加namespace前缀。
abstract:设置为抽象包,也就是不能包含Action的定义,该属性为可选。可被其他包继承,因此里面可定义其他包所需元素,如ResultType、Interceptor等。
配置时需注意:
<action>元素时<package>元素的子元素,应配置在<package>元素里面
<package>元素可以把
<action>元素需配置name和class属性,其中name是必须的
<action>元素可以包含其他的子元素:<param>、<result>、<interceptor-ref>
相关文章推荐
- Linux apt-get命令
- SQL注入原理讲解,很不错!
- JQuery节点元素属性操作方法
- 欢迎使用CSDN-markdown编辑器
- xcode6+ios8最新真机调试教程
- VBA选中离散的单元格
- Ant android各渠道批量打包混淆
- UNICODE,GBK,UTF-8区别
- 封装WebAPI客户端,附赠Nuget打包上传VS拓展工具
- windows下,firedac访问sqlite的程序
- PlatformDB数据库里几个重要的表
- 透过doublewrite计数来预估系统写入压力
- 怎么书写高质量jQuery代码【收藏】
- ASP.NET工程师面试前需要认真准备的几大知识点。
- cas系列学习文档
- 先UDP组播 socket 再TCP建立长连接
- centos yum php 5.5
- ServiceStack.Redis 缓存过期,并未失效的暂时解决办法
- WebAPI使用多个xml文件生成帮助文档
- Eclipse导入Hadoop源码项目及编写Hadoop程序