Struts2客户端验证和国际化问题
国际化文件:myMessage_zh_CN.properties
在Struts.xml加载国际化资源文件
<constant name="struts.custom.i18n.resources" value="myMessage"></constant>
当在页面中<s:form action="register" validate="true">设为true时验证文件不能用<message key="password.required"></message>
而要用<message>${getText("password.required")}</message>
RegisterAction-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="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>${getText("username.required")}</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{6,20})]]></param>
<message>${getText("username.rule")}</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>${getText("password.required")}</message>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[(\w{6,20})]]></param>
<message>${getText("password.rule")}</message>
</field-validator>
</field>
<field name="repassword">
<field-validator type="requiredstring" short-circuit="true">
<param name="trim">true</param>
<message>${getText("repassword.required")}</message>
</field-validator>
<field-validator type="regex" short-circuit="true">
<param name="expression"><![CDATA[(\w{6,20})]]></param>
<message>${getText("repassword.rule")}</message>
</field-validator>
<field-validator type="fieldexpression">
<param name="expression"><![CDATA[(repassword==password)]]></param>
<message>${getText("repassword.equals")}</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">120</param>
<message>${getText("age.rule")}</message>
</field-validator>
</field>
<field name="birth">
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2010-01-01</param>
<message>${getText("birth.rule")}</message>
</field-validator>
</field>
<field name="email">
<field-validator type="email">
<message>${getText("email.rule")}</message>
</field-validator>
</field>
</validators>
其中short-circuit="true"可以消灭校验短路问题
但是客户端校验不支持校验器短路,暂时只能在服务器端校验中使用
分享到:
相关推荐
Struts2引入了自己的数据验证机制,这使得验证过程更加系统化和模块化。 Struts2的数据验证主要分为两种类型:Action验证和ActionForm验证。Action验证是在Action类中直接进行的,通过对Action中的方法进行逻辑判断...
在 Struts2 中,验证分为两部分:客户端验证和服务器端验证。客户端验证是指在浏览器端对用户输入的数据进行验证,服务器端验证是指在服务器端对用户输入的数据进行验证。在本文中,我们将主要介绍 Struts2 的服务器...
在Struts框架中,表单验证通常通过两个主要方式实现:客户端验证和服务器端验证。 1. 客户端验证: 客户端验证发生在用户的浏览器上,通常使用JavaScript或jQuery等库来执行。这种方式可以即时反馈错误,提高用户...
7. **国际化支持**:Struts2允许使用资源包(properties文件)为不同语言的用户提供本地化的错误消息。 8. **整合其他验证框架**:除了内置的验证功能,Struts2还可以与Hibernate Validator、JSR 303/JSR 349等Java...
对于验证,Struts2提供两种验证方式:客户端验证和服务器端验证。客户端验证通常使用JavaScript进行,对用户输入的数据进行实时检查,如非空验证、格式验证等。服务器端验证则在服务端进行,确保数据的安全性,防止...
错误消息可以在资源文件(如`messages.properties`)中定义,这样可以方便地国际化和定制错误提示。 4. **数据库操作**: 在注册过程中,通常需要将用户信息存储到数据库。Struts2支持使用DAO(数据访问对象)...
Struts2的表单验证分为客户端验证和服务器端验证。客户端验证通常使用JavaScript进行,可以即时反馈错误,提高用户体验;服务器端验证则是强制性的,确保数据在服务器端的安全性和准确性。 二、验证配置 1. XML配置...
默认情况下,Struts2提供了两种验证方式:服务器端验证和客户端验证。服务器端验证发生在后台,通常在Action类中,而客户端验证则在用户浏览器中通过JavaScript进行,提供了更好的用户体验,因为它可以即时反馈错误...
在Struts2验证框架中,主要有两种验证方式:客户端验证和服务器端验证。客户端验证通常使用JavaScript在用户提交表单前进行,可以提供实时反馈,提升用户体验。而服务器端验证是必不可少的安全层,确保即使客户端...
Struts2提供了两种验证方式:客户端验证和服务器端验证。客户端验证通过JavaScript在用户提交表单前检查数据,而服务器端验证确保即使绕过客户端验证也能保证数据的正确性。开发者可以自定义验证规则,使用Action类...
在Struts2中,验证框架是处理用户输入验证的关键部分,它确保了从客户端接收到的数据的质量和准确性。本示例将深入探讨Struts2验证框架的基本用法,特别适合初学者理解和掌握。 ### 一、Struts2验证框架概述 ...
- **XWork 框架**:XWork 框架是一个综合的命令模式框架,负责大部分与 Struts2 配置、实例化和运行时处理相关的任务。虽然 XWork 主要与 WebWork 和 Struts2 相关联,但它也可以作为一个独立的框架使用。 - **动作...
在国际化方面,Struts验证框架允许开发者为不同的语言和地区提供错误消息的翻译。这通过在资源文件(如Messages.properties或Messages_zh_CN.properties)中定义错误消息实现,这样当验证失败时,系统会根据用户...
这篇文档“struts与ajax.docx”可能包含了如何将Struts2和Ajax结合使用的详细步骤。通常,这个过程会涉及以下几个关键点: 1. **Struts2配置**:首先,需要在`struts.xml`配置文件中定义一个Action,这个Action将...
在Struts2中,`validate`是用于处理用户输入验证的重要机制,它可以帮助开发者确保从客户端提交的数据满足预设的业务规则,从而提高应用程序的安全性和用户体验。 1. **Struts2 验证基础** Struts2的验证分为两种...
10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件)实现界面文本的国际化。 11. **安全考虑**:Struts2虽然强大,但也需要注意安全性问题,例如XSS、CSRF等。开发者应确保对用户...
它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、拦截器等功能。在使用Struts2进行开发之前,我们需要先将Struts2的jar包...
在Struts2中,验证主要分为两大类:客户端验证和服务器端验证。客户端验证主要用于提高用户体验,而服务器端验证则是保证数据正确性的关键步骤。Struts2提供了强大的内置验证工具,可以方便地进行数据类型转换和格式...
Struts2提供了强大的校验框架,支持客户端和服务器端校验。客户端校验可以通过配置Action类的注解或者XML配置文件来实现。例如,我们可以使用`@Validated`注解标记Action类,并在字段上添加如`@NotEmpty`、`@Min`等...
10. **国际化与本地化**:Struts2支持多语言环境,通过资源文件实现国际化和本地化。 11. **Ajax支持**:Struts2提供了Ajax插件,使得部分页面更新成为可能,提高了用户体验。 12. **错误与异常处理**:Struts2...