使用validate()方法進行輸入校驗 --Struts2框架


服務器端的輸入校驗包含兩種方式:硬編碼方式和配置文件方式。本文演示硬編碼方式中使用validate()方法進行輸入校驗。

1、項目目錄結構:

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 execute() {
    return SUCCESS;
  }

  public void validate() {
    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");
    }
  }
}

BookAction.java:

 

public class Book {

 

  private String bookName;
  private double bookPrice;
  private Date bookPublishDate;
  private int bookCount;


  public String getBookName() {
    return bookName;
  }
  public void setBookName(String bookName) {
    this.bookName = bookName;
  }
  public Double getBookPrice() {
    return bookPrice;
  }
  public void setBookPrice(Double bookPrice) {
    this.bookPrice = bookPrice;
  }
  public Date getBookPublishDate() {
    return bookPublishDate;
  }
  public void setBookPublishDate(Date bookPublishDate) {
    this.bookPublishDate = bookPublishDate;
  }
  public int getBookCount() {
    return bookCount;
  }
  public void setBookCount(int bookCount) {
    this.bookCount = bookCount;
  }
}

struts.xml:

 

<struts>
  <package name="default" namespace="/" extends="struts-default">
    <action name="addBook" class="com.example.action.BookAction">
      <result>/addBook.jsp</result>
      <result name="input">/addBook.jsp</result>
    </action>
  </package>
</struts>

 

 

addBook.jsp:

<s:actionerror />
<s:form action="addBook">
  <s:textfield name="book.bookName" label="書名" />
  <s:textfield name="book.bookPrice" label="單價" />
  <s:textfield name="book.bookPublicDate" label="出版日期" />
  <s:textfield name="book.bookCount" label="數量" />
  <s:submit value="提交" />
  <s:reset value="重置" />
</s:form>

3、使用validate()方法校驗結果截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM