ActionSupport和Action是Struts2框架中处理请求的两个重要类。
ActionSupport是一个扩展自Struts2框架的Action类,它提供了一些常用的方法和属性,同时还实现了一些接口,使得在处理请求时更加方便和灵活。
Action是Struts2框架中处理请求的核心类,所有处理请求的Action类都必须继承自该类。Action类定义了一些基本的方法和属性,例如execute()方法用于处理请求逻辑,同时还定义了一些常用的结果类型,例如SUCCESS、ERROR等。
下面分别介绍ActionSupport和Action的详细内容。
1. ActionSupport类:
ActionSupport类是一个扩展自Action类的抽象类,它提供了一些常用的方法和属性,方便在处理请求时使用。ActionSupport类实现了很多接口,包括Action接口、Validateable接口、ModelDriven接口等,使得在处理请求时更加方便和灵活。
ActionSupport类中的一些常用的方法和属性包括:
(1)addActionError(String error):向Action中添加一个错误信息。
(2)addActionMessage(String message):向Action中添加一个普通信息。
(3)getText(String key):通过指定的key获取资源文件中的文本。
(4)addFieldError(String fieldName, String errorMessage):向Action中的字段添加一个错误信息。
(5)addFieldError(String fieldName, String errorMessage, String[] args):向Action中的字段添加一个错误信息,并通过args替换错误信息中的占位符。
(6)hasActionErrors():判断Action中是否有错误信息。
(7)hasActionMessages():判断Action中是否有普通信息。
(8)hasFieldErrors():判断Action中是否有字段错误信息。
(9)clearErrors():清空Action中的错误信息和普通信息。
(10)clearFieldErrors():清空Action中的字段错误信息。
(11)validate():该方法在执行Action之前会被自动调用,用于数据验证和错误信息的设置。
(12)input():该方法在输入校验失败时被自动调用,用于返回输入页面。
(13)execute():该方法用于处理请求的逻辑。
ActionSupport类的一个具体例子如下:
```java
public class MyAction extends ActionSupport {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String execute() {
addActionMessage("Hello, " + name);
return SUCCESS;
}
}
```
2. Action类:
Action类是Struts2框架中处理请求的核心类,所有处理请求的Action类都必须继承自该类。Action类定义了一些基本的方法和属性,例如execute()方法用于处理请求逻辑,同时还定义了一些常用的结果类型,例如SUCCESS、ERROR等。
Action类中的一些常用的方法和属性包括:
(1)execute():该方法用于处理请求的逻辑,当请求映射到Action后,会自动调用该方法。
(2)SUCCESS:表示请求处理成功。
(3)ERROR:表示请求处理出错。
(4)input:表示输入校验失败,需要返回输入页面。
Action类的一个具体例子如下:
```java
public class MyAction implements Action {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String execute() throws Exception {
if (age >= 18) {
return SUCCESS;
} else {
return ERROR;
}
}
}
```
以上是对ActionSupport和Action的详细介绍和示例说明。在实际开发过程中,我们可以根据具体的需求选择继承自ActionSupport或Action来处理请求,并根据具体的业务逻辑来实现execute()方法或其他自定义方法。这样能够更加方便地处理请求,并且可以利用ActionSupport提供的一些方法和属性来处理错误信息、普通信息等,提高开发效率。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复