第一部分:使用struts2验证框架
1,在对应的action包里新建验证配置文件,文件名为***-validation.xml,其中***表示action名,内容为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd" >
<validators>
<field name ="reqiuredString" >//该名字就是对应action中需要验证的变量名
<field-validator type="requiredstring">//type为验证器名,就是下面众多已有验证器配置信息中的name属性
<message> This string is required </message>//这句还可以写成<message key="key"></message>,即从资源文件中查找key为key的属性值
</field-validator>
</field>
</validators>
已有的验证器如下:
< validators >
< validator name ="required"/>必须操作验证
< validator name ="requiredstring"/>字符串必填验证
< validator name ="int"/>
< validator name ="double"/>
< validator name ="date"/>
< validator name ="expression"/>表达式验证
< validator name ="fieldexpression"/>输入框表达式验证
< validator name ="email"/>
< validator name ="url"/>
< validator name ="visitor"/>
< validator name ="conversion"/>
< validator name ="stringlength"/>
< validator name ="regex"/>
</validators>
2,设置跳转方向,验证失败系统默认返回input
<action name="HelloWorld" class="com.leo.User">
<result name="success">index.jsp</result>
<result name="input">Hello.jsp</result>
</action>
则如果验证失败,系统将跳转到Hello.jsp页面。
3,页面会在控件上方自动显示错误信息,也可以使用标签<s:fielderror/>来统一显示。
第二种:自定义验证方法(一般用于集体验证,就是所有验证信息都放在一个地方,或者验证字段不是很多的情况下)
1,在action中重载两个方法
//如果当前action的名字为ActionFun,则该方法应该改写为validateActionFun()用于在验证之前执行,可以作为验证前的初始化,以我以前的经验,这个函数应该很有用,可以修补很多东西
public void validateExecute() {
System.out.println("Calling validateExecute() by reflection");
}
以及方法:
//如果验证失败,则不执行execute()方法
public void validate(){
if(!value.equals("格式")) {
//对用户输入的信息添加错误提示,value对应页面控件的name属性,错误信息来自于资源文件
addFieldError("value",getText("validation.value"));
}
}
2,3步和使用struts2验证框架类似
更多参考资料:http://wiki.javascud.org/display/ww2cndoc/Validation
分享到:
相关推荐
Struts2是一个强大的Java web开发框架,它提供了一种组织和控制MVC(模型-视图-控制器)架构的方式。在Struts2中,拦截器(Interceptors)扮演着核心角色,增强了框架的功能和灵活性。这篇文章将深入探讨Struts2拦截...
Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...
8. **第八章:表单验证** - 讲解如何使用Struts2内置的验证框架进行客户端和服务端的数据校验。 9. **第九章:国际化与本地化** - 展示如何使应用支持多语言,实现国际化。 10. **第十章:Struts2与AJAX** - 描述...
Struts2是一个流行的Java web开发框架,它提供了一种强大的数据输入验证机制,确保用户提交的数据符合预期格式和约束。本教程将深入讲解Struts2中的数据输入验证,包括两种主要验证方式:客户端验证和服务端验证。...
此外,Struts2提供了强大的拦截器(Interceptor)机制,可以实现诸如日志、权限验证等功能。 **Hibernate框架** Hibernate是一个强大的ORM工具,它允许开发者使用Java对象来操作数据库,避免了传统的JDBC代码编写。...
Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。本篇文章将详细介绍如何搭建Struts2的开发环境。 首先,你需要下载所需的软件组件。这包括Apache Tomcat服务器(这里使用的...
- **Struts2框架实现数据校验**:利用Struts2内置的验证框架进行自动验证,包括字段级验证和Action级验证。 #### 五、国际化实现 - **页面的国际化**:通过资源文件实现不同语言版本的切换。 - **Action的国际化**...
在Struts2中,有四种主要的方式可以用来操作request、session和application上下文中的数据。这篇内容将深入探讨这四种方法,并结合源码和实用工具来帮助理解。 1. **ActionContext**: Struts2的核心组件...
10. ** Struts2验证框架**:介绍Struts2的内置验证机制,如何编写校验规则并显示错误信息。 11. **Struts2与Spring集成**:讲解如何在Struts2应用中引入Spring,实现依赖注入,减少代码耦合。 Spring框架部分可能...
- **Struts2框架实现数据校验**:深入讲解Struts2提供的内置验证机制,如字段验证、类型转换等,以及如何自定义验证规则。 #### 五、国际化实现 - **页面的国际化**:讲解如何在Struts2中实现不同语言版本的页面...
首先,讲解了MVC模式的发展历程和基本概念,然后阐述了Struts2的起源,包括对开源框架的简述和与其他MVC框架的比较。接着,列举了Struts2的新特性,如设计理念的转变、Action的简化、POJO表单、智能默认值、改进的...
- **2.4.4 Struts如何实现Model2, MVC, 和层**: 具体说明了Struts框架是如何实现这些概念的。 **2.5 Struts控制流** - **2.5.1 总图**: 提供了Struts处理请求的整体流程图。 - **2.5.2 出色的细节**: 分析了Struts...
在用户刚进入网站进行登录的时候,struts 调用登录的一个 action,并在这时进行用户名 和密码的验证。 登录后进入图书管理的首页,添加、修改、删除图书信息都使用 servlet 进行跳转和过滤。 额外添加的查询功能,是内嵌...
Struts架构学习手册是针对初学者的一份详细指南,它旨在帮助读者理解并掌握Struts框架的...此外,随着技术的发展,Struts已经演进到了Struts2,引入了更多现代特性,如拦截器、注解配置等,这也是进一步学习的方向。
1. **配置Struts2**:首先,需要在项目的web.xml中配置Struts2的前端控制器,以及相关的过滤器。然后,创建struts.xml配置文件,定义Action类及其对应的URL路径和结果页面。 2. **配置Spring**:在web.xml中配置...
3. **强大的拦截器**:Struts2的拦截器机制可以方便地实现如权限验证、日志记录等功能。 4. **易于测试**:Struts2支持单元测试和集成测试,有利于提升代码质量。 5. **插件机制**:丰富的插件支持,可以快速扩展...
2. Spring: Spring框架的核心在于依赖注入和AOP(面向切面编程),它简化了对象之间的依赖关系,并提供了与Hibernate的无缝集成。Spring的Hibernate支持可以自动管理Session和事务,但在某些特定情况下,如需要...
2. **表单验证**:若用户未输入姓名即提交表单,则需返回出错信息,提示用户先输入姓名。 3. **特殊处理**:当用户输入的姓名为“Monster”时,应返回出错信息,拒绝向其打招呼。 4. **模型组件使用**:为了展示模型...
简述Struts框架中Action与ActionForm的区别。 Action和ActionForm是Struts框架中两个关键的组件,它们各自承担着不同的职责。 ActionForm负责封装表单数据,提供数据绑定、验证和重置功能,它是视图组件和控 制器...