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