Struts2-利用数据验证框架进行表单验证

来源:互联网 发布:cf提示网络异常 编辑:程序博客网 时间:2024/05/22 06:47

几个错误点,纠结了半天时间,整理并记录下来。


数据验证有两种方式,第一种是利用Validateable接口的validate()方法进行数据验证,利用

ValidateAware接口的方法存储和获取错误信息;第二种方法是直接利用validate拦截器,这是一套验证框架。

本文主要讲解利用验证框架进行验证,参考http://java.chinaitlab.com/Struts/775522.html

  1. Action类。注意,必须继承ActionSupport类,不然无法将错误信息显示在前台。(因为ActionSupport类实现了ValidateAware接口,能显示错误信息)

    Action类没有特别要注意的地方。

  2. struts.xml中配置这个Action类。

    注意: 1)必须添加resultname属性,转至登陆页面;

2) namespace的值跟后面的的登录页面.jsp中的namespace保持一致。

1,2步跟基本入门实例保持一致。


3. 编写验证配置文件。

1)命名为:<Action的类名>-validation.xml,  放在/classes文件下。

2)xwork-validator-1.0.2.dtd 放进Tomcat7/bin下面。

3)  验证内容如下所示:

<?xmlversion="1.0" encoding="UTF-8"?><!DOCTYPEvalidators PUBLIC"-//OpenSymphony Group//XWork Validator 1.0.2//EN""xwork-validator-1.0.2.dtd"><validators><fieldname="msg"><field-validatortype="requiredstring"><message>plsinput an user msg.</message></field-validator></field><fieldname="age"><field-validatortype="int"><paramname="min">18</param><paramname="max">50</param><message>mustgreater than 18 and less than 50.</message></field-validator></field></validators>

其他验证方式,除[requiredstringint],见说明。

  1. 编写登录页面login.jsp


<%@page language="java" import="java.util.*"pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags" %><html><head><title>datavalidatatiuon</title></head><body><s:formaction="Validate" namespace="/"><s:textfieldname="msg" label="msg"/><s:textfieldname="age" label="age"/><s:fielderrorcssStyle="color: red"></s:fielderror><s:submit/></s:form></body></html>

注意:namespace的值与struts.xml中保持一致。


5.
测试页面,当输入不符合条件,会有红色字体提示。


原创粉丝点击