struts2的RegexFieldValidator注解的实现:
其实主要也是看看validate方法的实现:
public void validate(Object object) throws ValidationException {
String fieldName = getFieldName(); // 得到field名称
Object value = this.getFieldValue(fieldName, object); // 得到field的值
//这里我们看到为什么在必填项上面我们还要使用一个RequiredStringValidate
//其实加上很多注解之后感觉代码和不整洁
// if there is no value - don't do comparison
// if a value is required, a required validator should be added to the field
if (value == null || expression == null) {
return;
}
// struts2是有强大的类型转换功能,在验证之前已经有其他的拦截器对
// 对参数做类型转换了
// XW-375 - must be a string
if (!(value instanceof String)) {
return;
}
// 我们看到此时才检验为空的情况,因为现在它肯定是一个string了
// 我估计在写代码的时候,可能在上面就进行判断了。但是这样很简洁
// string must not be empty
String str = ((String) value).trim();
if (str.length() == 0) {
return;
}
// 这里构造Pattern,来判断是不是大小写敏感的。
// match against expression
Pattern pattern;
if (isCaseSensitive()) {
pattern = Pattern.compile(expression);
} else {
pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
}
// 这里又有一个变量,这个实在是想不通,如果不trim,那就直接使用value,
// 如果trim就使用str就行了,不懂为什么又要引入一个compare变量
String compare = (String) value;
if ( trim ) {
compare = compare.trim();
}
Matcher matcher = pattern.matcher( compare );
if (!matcher.matches()) {
addFieldError(fieldName, object);
}
}
分享到:
相关推荐
在本资源中,我们将探讨如何利用Struts2的注解方式来实现文件的上传和下载功能,这对于任何Web应用来说都是至关重要的特性。 首先,我们来看“注解”在Struts2中的作用。Struts2允许开发者使用注解来配置Action类,...
在处理文件上传和下载这类常见任务时,Struts2提供了一种简洁的方法,尤其是通过注解进行配置,可以实现“零XML”配置,使得开发过程更加高效。本文将深入探讨如何使用Struts2的注解来实现文件的上传与下载。 首先...
### Struts2 使用注解(Annotation)实现文件下载 在Web开发中,文件上传与下载是常见的需求之一。Struts2框架提供了强大的功能来支持这一需求。本文将详细介绍如何使用Struts2框架结合注解(Annotation)的方式...
通过上述注解,我们可以实现无XML配置的Struts 2应用。在实际开发中,这种注解配置方式使得代码更加简洁,降低了维护成本。同时,由于注解是编译时的元数据,编译器可以在编码阶段就检查出配置错误,提高了开发效率...
首先,Struts2的注解允许我们避免传统的XML配置,从而实现更加简洁、直观的编程方式。在`Struts2Demo`项目中,我们可以看到Action类是如何通过注解进行声明的。例如,`@Action`注解用于定义一个方法作为处理HTTP请求...
在这个主题中,我们将探讨如何利用Maven构建工具与Struts2的注解功能相结合,以实现更高效、更模块化的项目开发。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过管理项目的构建、报告和文档,帮助开发者...
Struts2注解登录是Java Web开发中一种简化配置的方式,它允许开发者在代码中直接定义控制器、动作和结果页面的映射,从而避免了传统方式下需要在`struts.xml`配置文件中的繁琐设置。这种做法提高了代码的可读性和可...
Struts2是一个流行的Java web框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以...
总结来说,Struts2注解开发通过`struts2-convention-plugin`插件实现了更加简洁、灵活的Java web应用开发方式,降低了XML配置的工作量,提高了开发效率。理解并熟练运用Struts2的注解开发,有助于创建高效、易于维护...
通过使用这些注解,Struts2 Convention Plugin可以大大减少XML配置文件的编写工作量,实现快速开发。同时,由于插件遵循一定的约定(比如类名与Action名的关系),使得代码更具有可读性,降低了维护成本。 在实际...
本文将详细探讨如何使用Maven来整合Struts2,并利用全注解的方式简化配置,提高开发效率。首先,让我们理解这三个组件的核心作用: 1. Maven:是一个项目管理工具,它帮助开发者管理项目的构建、依赖、版本控制等。...
在这个“maven-web项目”中,我们将会深入探讨如何利用Struts2框架,结合Maven构建工具,以及Struts2的注解和JSON支持来开发Web应用。 首先,Maven是一个项目管理和综合工具,它简化了Java项目的构建、依赖管理和...
Struts2 和 Spring 的整合是企业级 Java Web 开发中常见的技术栈,通过注解配置可以使项目更加简洁、易于维护。Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可...
这篇博客文章“struts2 以注解的形式实现拦截器”主要探讨了如何利用注解来配置和使用Struts2的拦截器,而不是传统的XML配置方式。 首先,我们来看一下什么是拦截器。在Struts2框架中,拦截器是一个实现了`...
### Struts2 注解详解 #### 一、Struts2 Convention 插件介绍与使用 在 Struts2 框架的发展过程中,随着版本的更新和技术的演进,其配置方式也发生了变化。从 Struts2.1 版本开始,官方不再推荐使用 Codebehind ...
### Struts2注解详细说明 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种构建企业级Java Web应用的解决方案。自Struts2.1版本开始,引入了一个重要的插件——Convention Plugin,该...
Struts2和Spring是两个非常重要的...通过合理利用Spring的依赖注入和Struts2的Action注解,我们可以实现更简洁、高效的Web应用程序。在实际开发中,掌握这种结合使用的方法,将大大提高开发效率并降低出错的可能性。
该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。
在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...
在Struts2的版本2.1之后,它引入了Convention插件,以实现更加灵活和自动化的配置。这个插件的目标是减少XML配置文件的使用,通过约定优于配置(Convention over Configuration)原则,简化开发流程。 Convention...