掌握Struts2验证框架validation.xml的实战规则与示例

需积分: 9 1 下载量 82 浏览量 更新于2024-09-15 收藏 28KB DOC 举报
Struts2数据验证框架是Struts2框架中的一个重要组成部分,用于处理用户输入的合法性验证,确保数据的准确性和安全性。在Struts2中,验证工作主要通过一个XML配置文件,即validation.xml来实现。这个文件不仅定义了验证规则,还与Action类进行关联,以确保特定Action的行为符合预期。 validation.xml的命名规则和放置路径对于项目的组织至关重要。验证文件应该与对应的Action类同名,并添加一个后缀 "-validation.xml"。如果一个Action在struts.xml配置文件中有多个实例(使用不同的action name),那么验证文件的名称将包含这些实例的别名,例如"UserAction-login-validation.xml"。这里的别名并不是method name,而是配置文件中指定的Action名称。 validation.xml的内容结构相当清晰,它使用DTD (Document Type Definition) 定义了验证器的格式。例如,验证器开始部分会声明XML版本和编码,然后使用`<validators>`标签包裹所有字段级别的验证规则。每个字段的验证包括: 1. `<fieldname>`标签:定义要验证的字段名,如"username"和"password"。 2. `<field-validator>`标签:这是核心元素,用于指定验证类型。比如: - `<field-validatortype="requiredstring">`表示这是一个必填字符串验证,参数`<paramname="trim">true</param>`表示要删除字符串两端的空白字符,`<message>`则定义了验证未通过时的提示信息。 - `<field-validatortype="stringlength">`用于检查字符串长度,`<paramname>`用于设置最小长度(minLength)和最大长度(maxLength),`<message>`同样提供了错误消息。 3. 对于密码验证,`<field-validatortype="requiredstring">`再次用于确认密码不可为空,而没有指定长度限制,意味着密码长度没有特定要求。 通过在validation.xml中细致地定义这些规则,开发者可以轻松地实现对用户输入的有效性检查,提高用户体验并降低潜在的系统风险。同时,Struts2的这种模块化和灵活的验证机制也使得维护和扩展变得更加方便。