ActionSupport和Action

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/

点赞(73) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部