= Action类中ActionSupport使用以及validate方法重写实现。
= 属性文件messageResource.properties定义以及JSP页面上错误信息如何显示。
= 导航结果页面演示。
public class LoginAction extends ActionSupport {
//校验方法,用来校验输入值为空或没有输入返回错误信息
public void validate() {
if (getUsername() == null || getUsername().trim().equals("")) {
//返回错误信息键值,user.required包含具体内容见messageResource.properties
addFieldError("username", getText("user.required"));
}
if (getPassword() == null || getPassword().trim().equals("")) {
//返回错误信息键值,pass.required包含具体内容见messageResource.properties
addFieldError("password", getText("pass.required"));
}
}
}
其中addFieldError方法和getText方法也是ActionSupport类的方法,只是Action子类是直接调用没有重写它们。addFieldError方法顾名思义就是对JSP页面上Form中某个需要校验的field,如果操作有错误时候如何进行错误信息处理的方法。比如“username”就是JSP页面上这个字段的名字,而“user.required”是错误信息属性文件里定义的
validate方法一般都是Action类执行execute方法之前执行,这样如果操作失败,就直接返回到struts.xml中定义的“input”指向的URL
#支持本地化的资源文件名定义
struts.custom.i18n.resources=messageResource
#用key=value格式定义页面上显示的内容
user.required=请输入用户名!
pass.required=请输入密码!
<%@ page language="java" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- struts2标签库调用声明 -->
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<!-- form标签库定义,以及调用哪个Action声明 -->
<s:form action="Login">
<table width="60%" height="76" border="0">
<!-- 各标签定义 -->
<s:textfield name="username" label="用户名"/>
<s:password name="password" label="密 码" />
<s:submit value="登录" align="center"/>
</table>
</s:form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录成功</title>
</head>
<body>
<!-- 取得session中用户名值 -->
${sessionScope.user},欢迎您~~
</body>
</html>
分享到:
相关推荐
### Struts2输入校验深度解析 #### 一、手动输入完成校验 在Struts2框架中,输入校验是确保数据完整性和安全性的重要环节。对于手动输入完成校验,Struts2提供了灵活的机制。 1. **普通处理方式**:在Action类中...
在基础的Struts2应用中,我们常常会继承`ActionSupport`类来实现输入校验,从而提高代码的复用性和可维护性。 `ActionSupport`是Struts2提供的一种基础Action实现,它包含了默认的行为,如错误处理、国际化支持和...
1. **字段验证**:`ActionSupport`提供了内置的验证机制,通过在Action类中定义`validate()`方法,可以对用户输入的数据进行校验。如果验证失败,将会返回一个错误消息集合,这些消息可以在页面上展示给用户。 2. *...
Struts2是一个流行的Java web开发框架,它提供了一种优雅的方式来处理用户输入并进行校验。在Struts2中,输入校验是非常重要的一个环节,它确保了从客户端提交的数据符合预期的格式和规则,从而避免了无效或恶意的...
Struts2集成Spring的Validation框架,允许开发者在Action类的属性上使用JSR303/JSR349(Bean Validation)注解进行数据校验。例如,`@NotNull`用于检查非空,`@Size(min=, max=)`限制字符串长度,`@Min`和`@Max`...
本篇文章将详细介绍如何在Struts2中进行输入校验,包括两种主要实现方式:使用Action中的`validate()`方法和使用XML文件。 1. 使用Action中的`validate()`方法: 在Struts2中,每个Action类都可以包含一个名为`...
### Struts2校验框架使用心得 #### 一、Struts2校验框架概述 Struts2是一款基于Java的企业级Web应用开发框架,它能够帮助开发者构建出结构清晰、易于维护的应用程序。其中,Struts2提供的校验框架是其核心特性之一...
Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。...实践是检验真理的唯一标准,因此在理论学习的同时,不断通过实际项目来应用这些知识,才能真正掌握Struts2的精髓。
- 在Action类中,定义需要校验的字段,并添加`@Validated`注解或者使用Struts2的XML配置文件来指定需要校验的属性。 - 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - ...
为了处理更复杂的数据校验场景,Struts 2支持使用Validator插件,它可以读取XML配置文件或者使用JSR 303/JSR 349(Bean Validation)标准来进行校验。通过Validator插件,可以定义全局的校验规则,复用性强,同时也...
- **问题汇总**:针对Struts2开发过程中常见的问题进行总结和解答。 以上是基于文档提供的信息整理出来的Struts2学习笔记的关键知识点概览。这些内容不仅涵盖了Struts2的基本使用方法,还涉及到了一些高级特性和...
总结,这个“struts2的自定义校验器例子”展示了如何在Struts2中为特定需求创建自定义验证逻辑,确保服务器端数据的有效性和安全性。通过实现自定义校验器,开发者可以灵活地控制输入数据的验证规则,提高应用程序的...
5. 当用户提交表单后,Struts2会自动调用`validate()`方法(由ActionSupport提供)进行数据校验。如果校验失败,ActionContext会将错误信息存储,并将执行结果设置为"input",从而返回到登录页面并显示错误信息。 `...
9. **数据校验**:Struts 2提供了丰富的数据校验机制,可以在Action类中定义注解进行字段级校验,也可以在struts.xml配置文件中进行全局校验。 10. **Ajax支持**:Struts 2可以通过JSON插件或Dojo插件支持Ajax请求...
在Struts2框架的学习中,`Action`接口与`ActionSupport`类是核心组件,用于处理用户请求并返回相应的结果。本篇笔记将深入探讨这两个关键概念,以及它们在实际开发中的应用。 首先,`Action`接口是Struts2框架中...
在Struts2中,当服务端验证失败时,通常会将错误信息保存在ActionContext中,并通过ActionSupport类中的addFieldError方法添加到字段上。此时,为了保留页面的初始状态,我们可以采取以下策略: 1. 使用`...
- **步骤二:继承ActionSupport**:为了利用Struts2的内置校验功能,自定义的Action类需要继承`ActionSupport`类,这个类提供了默认的校验行为。 - **步骤三:覆盖Validate方法**:在Action类中覆盖`validate`方法...
拦截器是Struts2的一个强大特性,可以在Action执行前后进行额外的操作,比如日志记录、权限验证、数据校验等。通过在`struts.xml`中配置拦截器栈,可以定制化Action的执行流程。 **6. OGNL(Object-Graph ...