博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2框架使用(九)之struts2的验证框架
阅读量:4655 次
发布时间:2019-06-09

本文共 4540 字,大约阅读时间需要 15 分钟。

Struts2 验证简介

Struts2 基于 Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展;一般的验证都支持;

Struts2 内置验证

struts2内置的验证器

 

第三节 :自定义验证
Struts2 基于 Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展;一般的验证都支持,下面,将以一个注册的例子来举例:

首先创建一个pojo类

package com.mrlv.pojo;public class User {    private String userName;    private String name;    private int age;    private String email;    private String homePage;    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getHomePage() {        return homePage;    }    public void setHomePage(String homePage) {        this.homePage = homePage;    }    @Override    public String toString() {        return "User [userName=" + userName + ", name=" + name + ", age=" + age                + ", email=" + email + ", homePage=" + homePage + "]";    }}

然后。创建一个jsp表单,注意:这里的<s:actionerror/>是显示验证表达式错误提示。

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags" %>
Insert title here
用户注册

然后,创建RegisterAction。

package com.mrlv.action;import com.mrlv.pojo.User;import com.opensymphony.xwork2.ActionSupport;public class RegisterAction extends ActionSupport{    /**     *      */    private static final long serialVersionUID = 1L;        private User user;    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    @Override    public String execute() throws Exception {        System.out.println("执行RegisterAction,接收:"+user);        return SUCCESS;    }}

如果想调用内部验证框架则,需要在Action同一个包内下创建RegisterAction-validation.xml,名字要求有规范。

请输入用户名
6
10
用户名必须在${minLength}和${maxLength}之间
请输入姓名
18
年龄必须满18周岁
请输入邮件
邮件格式不对
请输入主页
主页格式不对
用户名和真实姓名不能相同

 

最后配置struts.xml。

/register.jsp
/success.jsp

 

自定义验证器

如果你需要添加一些自定义的验证器的话,可以创建一个验证器,如下。

package com.mrlv.validators;import com.opensymphony.xwork2.validator.ValidationException;import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport;/** * 自定义校验器 */public class SensitiveWordValidators extends FieldValidatorSupport{    @Override    public void validate(Object object) throws ValidationException {        String fieldName=this.getFieldName();        String value=this.getFieldValue(fieldName, object).toString();        //如果含有敏感字符        if(!check(value)){            this.addFieldError(fieldName, object);        }    }    //判断传入字符是否含有敏感字符    public boolean check(String value){        String sensitiveWords[]={"操","你妈"};        for(int i=0;i
-1){ return false; } } return true; }}

 接下来就是把这个验证器配置到配置文件里,接下来需要在src文件夹下创建一个validators.xml文件

注意:这里是必须规定名字。

validators.xml

 

 调用的时候,只需要在action包内调用的***Action下创建***Action-validation.xml。

有敏感词汇

 

 以上便是struts的校验框架。

转载于:https://www.cnblogs.com/lvshiyu/p/8082169.html

你可能感兴趣的文章