说起来有些小郁闷.<<程序天下-struts2技术详解>> 这本书主要是针对 Struts2.0 来讲的.但自己用的是 Struts2.1.6 所以在学的时候和书上有很多的出入.自己英语水平还不到能顺利看懂 英文文档的水平. 有些问题得不到解决.网上找了一下,也没有什么收获.郁闷!Struts2.1 在 Ajax 方面比 Struts2.0 改动了许多,暂时先不管了.
本来打算来一次地毯式的"扫荡" 不能如愿.
http://noknower.iteye.com/blog/274100
这里基础详细的讲了一些常用的.这就跟着补充一下吧.
在Action 里进行验证
// /**
// * validate 进行全局验证
// */
// @Override
// public void validate() {
// if (null == userAge || userAge > 0) {
// // 记录错误 addFieldError(属性名 , 提示信息);
// addFieldError("userAge", "userAge 必须大于0.");
// }
// }
// /**
// * 针对 testAction 进行验证 validateXxxx 进行设置
// */
// public void validateTestAction() {
// if (null == userAge || userAge > 0) {
// // 记录错误 addFieldError(属性名 , 提示信息);
// addFieldError("userAge", "userAge 必须大于0.");
// }
// }
要说的是在这里涉及到类型转换. 书上说 最好让类型转换人有优先于验证.想想些道理.这里关于类型转换就不多说了.
TestAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<!-- 字段校验 -->
<field name="userName">
<field-validator type="stringlength">
<param name="minLength">4</param>
<param name="maxLength">14</param>
<message>
xml userName 长度在${minLength} 和 ${maxLength} 之间.
</message>
</field-validator>
<!-- short-circuit="true" 设置短路校验 -->
<field-validator type="requiredstring" short-circuit="true">
<message>xml userName不能为空.</message>
</field-validator>
<!-- 正则校验
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{4,25})]]></param>
<message key="name.regex"/>
</field-validator>
-->
</field>
</validators>
它的命名是经 Xxxx--validation.xml 形式来的.
sx:datetimepicker
这和Struts2.0 有不同 引入struts2-dojo-plugin-2.1.8.jar 之后
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%> <html>
<head>
<s:head theme="xhtml" />
<sx:head parseContent="true" extraLocales="en_us" /> </head>
<body>
最好先进行类型转换再进行数据校验
<s:form action="testAction" method="post" >
<sx:datetimepicker name="userDate" displayFormat="yyyy-MM-dd"
language="en_us" label="userDate" value="userDate" />
<s:submit />
</s:form>
</body>
</html>
Ajax 验证 这块没有成功.在网上也没有找到好的解决方案 只能这样了. 附件里是 demo .
使用客户端校验是个很好的办法,但要注意:TestAction-validation.xml 资源中的消息在JSP不调用Action是不能使用的,只有先调用Action,该页面对应的校验配置文件.
在这里就是说要通过 Action(http://localhost:8088/TestStruts2Validate/testAction.action) 到达 index.jsp 页面时才可以在 s:form 中 使用 validate="true" 否则会出错.
Struts2.1 把Ajax 移动到 dojo 中.在使用过程中问题多多.但书本大多是以 Struts2.0 来讲的.
分享到:
相关推荐
Struts2 验证框架详解 Struts2 验证框架是基于 Java 语言的 Web 应用程序框架,提供了一个强大的验证机制,以确保用户输入的数据满足业务逻辑的要求。在 Struts2 中,验证机制是通过 validator 来实现的,该机制...
Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...
其中,Struts2提供的校验框架是其核心特性之一,能够有效地进行表单验证,并且支持多种验证方式。 #### 二、配置Struts2框架 为了使用Struts2框架,首先需要在项目的`web.xml`文件中配置过滤器。下面的示例展示了...
在Struts2中,验证框架是其核心特性之一,它允许开发者对用户输入的数据进行校验,确保数据的完整性和安全性。这个“struts2验证框架示例”提供了深入理解并实际操作Struts2验证功能的机会。 首先,让我们了解一下...
### Struts2校验框架详解 #### 一、概述 Struts2作为一款流行的Java Web应用框架,提供了丰富的功能来支持开发人员构建高效且可维护的应用程序。其中,Struts2校验框架(Validation Framework)是该框架的核心特性...
在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...
在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...
Struts2的校验框架基于Apache Commons Validator,提供了多种预定义的验证器类型以及自定义验证器的功能。这些验证器可以在配置文件中或代码中定义,用于检查表单字段的有效性。 #### 三、示例分析 ##### 1. 配置...
在Struts2中,校验框架是一个核心组件,它负责处理用户输入的数据验证,确保数据的正确性和完整性。以下是对Struts2校验框架的详细讲解。 1. **Struts2验证框架的基本概念** Struts2的验证框架主要负责在用户提交...
Struts2验证框架是Java开发中的一个关键组件,主要用于处理Web应用中的用户输入验证。它提供了灵活且强大的机制,确保用户提交的数据符合预期格式和业务规则。Struts2的验证框架是基于Action类和XML配置文件的,可以...
在Struts2中,验证框架是其核心特性之一,它负责确保用户输入的数据符合预定义的规则,从而保证数据的准确性和安全性。本文将深入探讨Struts2验证框架的使用和扩展。 1. **Struts2验证框架基础** - **Action与...
下面将详细介绍Struts2自定义校验框架的相关知识点。 1. **Struts2验证框架概述** Struts2的验证框架主要负责处理用户提交的数据,进行验证,并在验证失败时显示错误消息。它支持两种验证方式:基于注解的验证...
2、用户名只能使用数字或者字母,长度为6~20之间; 3、密码、确认密码必须是数字和字母,长度为6~20之间; 4、密码、确认密码必须相同; 5、收入必须在0.001~10000.000之间; 6、年龄必须是整数且必须在0~120...