• 使用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、结果和上一例是一样的

  • 相关阅读:
    vsftpd匿名用户实验
    CentOS7 突然连不上网,报错"FailedtostartLSB:Bring up/down networking"
    搭建Java Web开发环境
    Starting named:[FAILED] named启动失败
    CentOS6克隆虚拟机报错Device eth0 does not seem to be present,delaying initialization.
    ADD requires at least two arguments
    mysql 5.7密码策略修改
    JavaScript手册
    vs编译生成之后报错
    vs编译生成之后报错
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9215281.html
Copyright © 2020-2023  润新知