Strutsバリデーターフレームワークの例

Strutsバリデータフレームワークの例

Strutsバリデータフレームワークは、検証をより簡単に実行し、保守性を高めるための多くの汎用検証メソッドを提供します。 Strutsバリデーターでは、ActionForm validate()メソッドの代わりに、検証関数をxmlファイルに宣言する必要があります。これにより、Struts検証をより標準化、再利用可能、重複の少ないコードにすることができます。

この例をダウンロード–Struts-Validator-Example.zip

Struts Validatorフレームワークの使用

Struts Validatorフレームワークを使用するためのクイックガイドを次に示します。

1. 検証プラグイン

Strutsバリデータプラグインを使用するには、「ValidatorPlugIn」クラスをstruts-config.xmlファイルに含める必要があります。

...

    


...

validator-rules.xml」ファイルには、すべての一般的なバリデーター名が含まれています。このファイルは、Struts配布ライブラリで取得できます(このファイルを自分で作成しないでください)。 また、「validator-user.xml」には、フォームフィールドの検証がすべて含まれています。

2. 検証フォーム

フォームBeanでバリデータフレームワークを使用する必要がある場合は、ActionFormではなくValidatorFormを拡張する必要があります。

import org.apache.struts.validator.ValidatorForm;

public class UserForm extends ValidatorForm{
..

3. validator-user.xml

userForm Bean、メールプロパティ、および「必須」および「メール」バリデータをメールプロパティに添付します。 「必須」バリデータは、フィールドが空白でないことを確認し、「電子メール」バリデータを使用して正しい電子メール形式を確認します。 「必須」と「電子メール」の両方のバリデーターが「validator-rules.xml」ファイルで宣言されています。


   
      

Struts Validatorフレームワークの例

Strutsバリデータフレームワークについて理解する最良の方法は、簡単なアプリケーションを作成し、検証作業を順を追って説明することです。 以下は、Strutsバリデータフレームワークを使用してユーザー名、パスワード、メールを確認する簡単なユーザー登録フォームです。

1. アクション

アクションクラス、成功リクエストを転送します。

UserAction.java

package com.example.user.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class UserAction extends Action{

    public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
    throws Exception {

        return mapping.findForward("success");
    }
}

2. ユーザーフォーム

UserFormはValidatorFormクラスを拡張します。

UserForm.java

package com.example.user.form;

import org.apache.struts.validator.ValidatorForm;

public class UserForm extends ValidatorForm{

    String username;
    String pwd;
    String pwd2;
    String email;

    //getter and setter methods

}

3. プロパティファイル

プロパティファイルには、すべてのラベルとエラーメッセージが含まれています。

user.properties

#user module label message
label.user.name = Name
label.user.username = UserName
label.user.pwd = Password
label.user.pwd2 = Confirm Password
label.user.email = Email

label.user.button.submit = Submit

#Error message
err.user.username.required = Username is required.
err.user.username.length = Username length should be between {0} and {1}.
err.user.username.invalid = Username is invalid , it should be a-z, A-Z, 0-9, dash "-" or underscore "_".
err.user.pwd.required = Password is required.
err.user.pwd.length = Password length should be between {0} and {1}.
err.user.pwd.invalid = Password is invalid , it should be a-z, A-Z, 0-9.
err.user.pwd2.notmatch = Confirm password is not match.
err.user.email.required = Email is required.
err.user.email.invalid = Email address is invalid.

4. ページを表示

すべてを作成する単純なjspページにはテキストフィールドが必要で、単純なありがとうページ

RegisterUser.jsp

Struts - Validator Example

RegisterUser.jsp
User Registeration Form
 +
: +
: +
: +
: +
 +

ThanksYou.jsp

Struts - Validator Example

Thanks you for the registration

5. Struts構成

actionを構成し、マッピングを形成し、「ValidatorPlugIn」プラグインを登録します。

struts-connfig.xml





   
    
   

   

        

            

        

        

   

   

   
    

   

6. validator-user.xml

userFormのユーザー名、パスワード、メールプロパティのバリデーターを定義します。

validator-user.xml




   
      
minlength 3 maxlength 15 mask ^[a-zA-Z0-9-_]*$ minlength 7 maxlength 15 mask ^[a-zA-Z0-9]*$ test (pwd == *this*)

7. Demo

Struts-Validator-Example-1

Struts-Validator-Example-2

検証コードは、それがどのように機能するか、詳細を知りたい場合、および他の利用可能なバリデーターを知るのに十分な記述的であり、以下のリファレンスWebサイトを確認してください。

参照

Strutsバリデーターのドキュメント–http://struts.apache.org/1.2.4/userGuide/dev_validator.html