ActionSupport和Action

ActionSupport是Struts2框架提供的一个基于Action类的扩展类,它提供了一些额外的功能和便捷的方法,使开发者可以更轻松地编写和管理Struts2的Action类。

首先,ActionSupport提供了一些常用的方法,例如获取HttpServletRequest和HttpServletResponse对象的方法,这些方法在处理请求时非常常用。同时,ActionSupport还提供了一些用于处理国际化、资源文件等常用功能的方法,例如getText()方法可以用于获取国际化资源文件中的文本内容。

其次,ActionSupport还提供了一些用于数据校验和错误处理的方法。例如,可以使用addActionError()方法和addFieldError()方法将错误信息添加到Action中,并在JSP页面上显示错误信息。此外,ActionSupport还提供了一些验证方法,例如validate()方法可以用于执行数据校验,并将错误信息添加到Action中。有时,我们还可以通过覆盖validateXXX()方法来实现更具体的数据校验逻辑。

此外,ActionSupport还提供了一些用于处理表单提交的方法,例如input()方法和validate()方法。当表单提交时,如果校验失败,Struts2会调用input()方法跳转回表单页面,并将校验错误信息显示出来。如果校验成功,Struts2会调用validate()方法执行具体的业务逻辑。

还有一个非常重要的功能是拦截器的应用,Struts2通过拦截器链的方式来实现对请求的处理。ActionSupport提供了许多与拦截器相关的方法。例如,可以重写prepare()方法来在执行Action方法之前进行一些准备工作。另外,通过覆盖不同的方法,可以实现对请求的前置处理和后置处理。

我们来看一个简单的例子,演示如何使用ActionSupport和Action来实现一个简单的用户登录功能。

首先,我们需要创建一个实现了Action接口的登录Action类。该类需要实现execute()方法,并在该方法中实现登录的业务逻辑。

然后,我们创建一个继承自ActionSupport的登录ActionSupport类。该类只需要提供一些额外的方法,例如validate()方法,在其中进行数据校验和错误处理。

最后,在struts.xml配置文件中配置Action的处理逻辑。我们需要指定Action类的路径和方法的映射关系,同时指定对应的视图页面。

下面是示例代码:

LoginAction.java

```java

public class LoginAction implements Action {

private String username;

private String password;

public String execute() throws Exception {

// 实现登录业务逻辑

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

return "success";

} else {

return "input";

}

}

// getter和setter方法省略

}

```

LoginActionSupport.java

```java

public class LoginActionSupport extends ActionSupport {

private String username;

private String password;

public void validate() {

if (StringUtils.isEmpty(username)) {

addFieldError("username", "用户名不能为空");

}

if (StringUtils.isEmpty(password)) {

addFieldError("password", "密码不能为空");

}

}

public String execute() throws Exception {

// 实现登录业务逻辑

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

return "success";

} else {

return "input";

}

}

// getter和setter方法省略

}

```

struts.xml

```xml

/success.jsp

/login.jsp

/success.jsp

/login.jsp

```

上述代码演示了使用ActionSupport和Action类实现用户登录功能。其中,LoginAction继承自Action接口,实现了execute()方法,用于处理登录业务逻辑;LoginActionSupport继承自ActionSupport类,覆盖了validate()方法,用于数据校验和错误处理。在struts.xml配置文件中,分别配置了两个Action的处理逻辑,并指定了对应的视图页面。

这只是一个简单的示例,实际应用中可以根据具体需求进行扩展和调整。通过使用ActionSupport和Action,可以更方便地编写和管理Struts2的Action类,并实现更多的功能和处理逻辑。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(27) 打赏

评论列表 共有 1 条评论

蝶き梦 10月前 回复TA

好扮演自己的角色,做自己该做的事。

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