<< 前のページ  | トップ |   次のページ>>

 
 isbn番号の入力チェックにStrutsのvalidateを使います。
 
 input.doとinsertedit.doではActionFormを使う必要がない
ので、以下のように修正しました。これでbookCatalogForm
のvalidateメソッドは、list.doアクションとinsert.doアクション
の場合のみ実行されます。

struts-config.xml
------------------------------------------------------- 

 
          '-//Apache Software Foundation//DTD Struts Configuration 1.1//EN'
          'http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd'>

 
 
  
 

 
  
 
      type='action.BookCatalogAction'
    name='bookCatalogForm'
    validate='true'
    input='/WEB-INF/jsp/input.jsp'>
   
  

      type='action.InputAction'>
   
  

      type='action.InsertEditAction'>
   
  

      type='action.InsertAction'
    name='bookCatalogForm'
    validate='true'
    input='/WEB-INF/jsp/insert.jsp'>
   
  

 

 
-------------------------------------------------------

BookCatalogFormでは正規表現を使ってisbn番号のチェックを行っています。

BookCatalogForm
------------------------------------------------------- 

package action.form;

import java.util.List;
import java.util.regex.*;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;


public class BookCatalogForm extends ActionForm{
 private List bookList;
 private String isbn;
 private String title;
 private String content;
 public List getBookList() {
  return bookList;
 }
   
 public ActionErrors validate(
            ActionMapping mapping,
            HttpServletRequest request) {

  ActionErrors errors = new ActionErrors();
  
  if(isbn!='' && isbn!= null){
         Pattern ptn;
         Matcher mch;
         
         ptn = Pattern.compile('[0-9A-Z]{10}');
         mch = ptn.matcher(isbn);
         if(mch.find()!= true){
          errors.add('isbn', new ActionMessage(
          'isbn.invalid'));
         }
        }else {
      errors.add('isbn', new ActionMessage(
      'isbn.noinput'));
        }
  
  return errors;
    }
 
 
 public void setBookList(List bookList) {
  this.bookList = bookList;
 }

 public String getIsbn() {
  return isbn;
 }

 public void setIsbn(String isbn) {
  this.isbn = isbn;
 }

 public String getTitle() {
  return title;
 }

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

 public String getContent() {
  return content;
 }

 public void setContent(String content) {
  this.content = content;
 }
}
-------------------------------------------------------


struts-config.xmlで指定したメッセージリソースファイルです。

application.properties
------------------------------------------------------- 
errors.header=


    errors.prefix=

  • errors.suffix=

  • errors.footer=

isbn.noinput = isbn番号を入力してください
isbn.invalid = isbn番号が不正です
------------------------------------------------------- 

input.jspとinsert.jspでは、で入力チェックエラーをすべて出力しています。


input.jsp
------------------------------------------------------- 

<%@taglib prefix='html' uri='http://jakarta.apache.org/struts/tags-html' %>
<%@taglib prefix='bean' uri='http://jakarta.apache.org/struts/tags-bean' %>
<%@taglib prefix='logic' uri='http://jakarta.apache.org/struts/tags-logic' %>



JAVAで始めようオブジェクト指向 [まぐまぐ!]



 


  

書籍登録


 
  
   
   
  
  
   
   
  
  
   
   
  
 
isbn番号
    
   
タイトル
    
   
概要
    
   

 

 
 


 
 
 
 メインへ
 




-------------------------------------------------------

<< 前のページ  | トップ |   次のページ>>