ActionSupport与action区别

Action类是Struts2框架的核心,它是所有请求处理的入口。同时,Struts2框架提供了一个基础Action类ActionSupport,它实现了Action接口,提供了一些常用的方法,方便我们编写Action类。

ActionSupport类继承自ActionContext类,提供了以下方法:

1. addActionError(String):添加一条错误消息,通常用于处理表单校验失败的情况。

2. addActionMessage(String):添加一条普通消息,例如操作成功的提示。

3. addFieldError(String, String):添加一个针对某个字段的错误消息。

4. getText(String):获取国际化资源文件中的文本。

5. getText(String, Object[]):获取带有参数的国际化资源文件中的文本。

6. getContext(): 获取ActionContext对象。

7. HttpServletRequest getRequest():获取HttpServletRequest对象。

8. HttpServletResponse getResponse():获取HttpServletResponse对象。

9. ServletContext getServletContext():获取ServletContext对象。

10. ValueStack getValueStack():获取ValueStack对象。

Action类必须实现Action接口中的execute方法,该方法通常用于处理请求。而ActionSupport类已经实现了这个方法,我们只需要继承ActionSupport类并覆盖一些方法即可。

下面举一个示例来说明ActionSupport类的使用方法。假设我们要开发一个用户登录的功能,用户输入用户名和密码后,点击登录按钮,服务器验证用户名和密码是否正确,如果正确则跳转到主页面,否则提示错误信息。

我们首先需要编写一个继承自ActionSupport的Action类:

```java

public class LoginAction extends ActionSupport{

private String username;

private String password;

// ... 省略getter和setter方法

public String execute() throws Exception{

// 验证用户名和密码是否正确

if("admin".equals(username) && "123456".equals(password)){

// 登录成功,跳转到主页面

return SUCCESS;

}else{

// 验证失败,设置错误信息

addActionError("用户名或密码错误!");

return ERROR;

}

}

}

```

在这个Action类中,我们使用了ActionSupport类中的addActionError方法来添加一条错误消息,如果登录验证失败则返回ERROR,否则返回SUCCESS。

接下来,我们需要在Struts.xml中配置Action。

```xml

ain.jsp

/login.jsp

```

在这个配置文件中,我们定义了一个名为login的Action,它的class属性指定为com.example.action.LoginAction,同时定义了两个Result,分别对应登录验证成功和失败时的处理结果。

最后,我们需要编写JSP页面,例如login.jsp,用于接收用户输入。

```html

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

用户登录

用户登录

<% if (hasErrors()) { %>

    <% for (String error : getActionErrors()) { %>

  • <%= error %>
  • <% } %>

<% } %>

用户名:

密码:

```

在这个JSP页面中,我们使用了ActionSupport类中的hasErrors和getActionErrors方法,分别用于判断是否有错误信息和获取错误信息列表。如果hasErrors返回true,则使用getActionErrors获取错误信息列表并显示到页面上。

以上就是关于ActionSupport类与Action的区别和使用方法的详细介绍。在实际开发过程中,使用ActionSupport类可以大大简化我们的代码,并提供了一些方便的方法,提高代码的可读性和可维护性。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(2) 打赏

评论列表 共有 0 条评论

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