struts2注解方式实现数据验证

前言:验证分为数据格式验证和业务逻辑验证,也可分为客户端验证和服务器端的验证。struts2的验证对于客户端验证意义不大,因为客户端验证完全可以用js实现。

package com.belstar.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.interceptor.validation.SkipValidation;

import com.belstar.bean.Book;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.validator.annotations.DateRangeFieldValidator;
import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;
import com.opensymphony.xwork2.validator.annotations.Validations;
import com.opensymphony.xwork2.validator.annotations.ValidatorType;

//@Validation()
public class BookAction extends ActionSupport {

 private static final long serialVersionUID = -38241432793476229L;

 public static List<Book> bookList = new ArrayList<Book>();

 private String title;

 private Book book;
 
 // 添加书籍页面
 @SkipValidation
 public String initAdd() {
  return "initAdd";
 }

 // 添加书籍
 @Validations(requiredStrings = {
   @RequiredStringValidator(type = ValidatorType.SIMPLE, trim = true, fieldName = "book.name", message = "请输入书籍名称. *"),
   @RequiredStringValidator(type = ValidatorType.SIMPLE, trim = true, fieldName = "book.author", message = "请输入书籍作者. *") }, dateRangeFields = { @DateRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "book.publishedDate", min = "1900-01-01", max = "2200-01-01", message = "日期必须大于 ${min} 小于 ${max}, 当前值为 ${book.publishedDate}.") })
 public String add() {
  bookList.add(book);
  title = "<br/><br/>添加书籍成功<br/><br/>";
  return "success";
 }

 // 书籍列表
 @SkipValidation
 public String list() {
  return "list";
 }

 // 清空书籍列表
 @SkipValidation
 public String clear() {
  bookList.clear();
  title = "<br/><br/>清空书籍列表成功<br/><br/>";
  return "list";
 }

 public Book getBook() {
  return book;
 }

 public void setBook(Book book) {
  this.book = book;
 }

 public List<Book> getBookList() {
  return bookList;
 }

 public String getTitle() {
  return title;
 }

 public void setTitle(String title) {
  this.title = title;
 }
}

 

同时需要指出,若要实现在客户端验证要在<struts:form>标签中加入validate="true"属性,同时在struts.xml文件中需要配置input验证失败对应的页面。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值