使用validateXxx()方法进行输入校验 --Struts2框架

1、本例是在使用validate()方法进行输入校验 --Struts2框架的基础上接着做的,上一篇使用validate()方法进行输入校验时会对当前Action中的所有方法有效,由于Struts2框架可以在同一个Action中使用不同方法来处理不同请求,所以如果只是对Action中的某个方法进行输入校验,就可以使用validateXxxx()格式的方法来实现。

2、修改文件BookAction.java

public class BookAction extends ActionSupport {
  private Book book;

  public Book getBook() {
    return book;
  }

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

  public String add() {
    return SUCCESS;
  }

  public void validateAdd() {//validateXxx()格式
    if (book.getBookName().isEmpty()) {
      addFieldError("book.bookName", "书名不能为空!");
    }
    if (book.getBookPrice()<=0) {
      addFieldError("book.bookPrice", "单价不应小于等于0");
    }
    if (book.getBookPublishDate() == null||book.getBookPublishDate().after(new Date())) {
      addFieldError("book.bookPublicDate", "出版日期不能为空并且应该在今天之前!");
    }
    if (book.getBookCount() <= 0) {
      addFieldError("book.bookCount", "数量应大于0");
    }
  }

3、修改struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
  <package name="default" extends="struts-default">
    <action name="addBook" class="com.example.action.BookAction" method="add">
      <result>/addBook.jsp</result>
      <result name="input">/addBook.jsp</result>
    </action>
  </package>
</struts>

4、结果和上一例是一样的

posted @ 2018-06-24 10:08  牛新龙的IT技术博客  阅读(406)  评论(0编辑  收藏  举报