5) weber-config.xml

アクションマッピング定義ファイル(weber-config.xml)は、weberアプリケーションの画面遷移や View−Model(つまり、「.jsp」ファイルとフォーム用JavaBeans、アクションクラス)を関連付け る一連の制御情報を記述するためのファイルです。


weberフレームワークにはフロントサーブレットと呼ばれる、すべての入出力制御を行なうための基本 クラスが提供されていますが、フロントサーブレットはこのweber-config.xmlを参照することで、 処理の分岐を判断しています。

このファイルにJSP(html)ファイルやJavaBean、アクションクラスを動かすために必要な設定情報を 記述していきます。


(1) weber-config.xmlの作成例

weber-config.xmlの記述例を以下に記します。


<?xml version="1.0" encoding="Shift_JIS" ?>

<weber-config>
<global-exceptions>
    <exception name="java.lang.Exception" path="/jsp/exception.jsp"/>
    <exception name="java.io.IOException" path="/jsp/ioexception.jsp"/>
    <exception name="java.lang.NumberFormatException" path="/jsp/numberException.jsp"/>
</global-exceptions>

<action-mappings>
<action
    path="/tutorial2/input.do"
    type="tutorial2.InputAction"
    name="tutorial2.AskData">
    <role name="admin"/>
    <role name="guest"/>
    
    <!-- リクエストパラメータの入力チェック -->
    <param name="name">
        <!-- 必須チェック -->
          <validate type="requird" msgkey="E0001" />
    </param>
    <param name="id">
        <!-- 必須チェック -->
          <validate type="requird" msgkey="E0002" />
          <!-- 半角数値チェック -->
          <validate type="digit" msgkey="E0003" />
    </param>
    <param name="score">
        <!-- 必須チェック -->
          <validate type="requird" msgkey="E0004" />
          <!-- 半角英数チェック -->
          <validate type="eisu" msgkey="E0005" />
          <!-- 数値範囲チェック -->
          <validate type="digit_length" msgkey="E0006" min="0" max="100" />
    </param>
    
    <forward name="org.itscool.weber.action.INPUT_ERROR" path="/html/tutorial2/input.html"/>
    <forward name="org.itscool.weber.action.ROLE_FAIL" path="/html/tutorial2/usercheck_error.html"/>
    <forward name="success" path="/html/tutorial2/confirm.html"/>
</action>
</action-mappings>
</weber-config>


(2) action要素

action要素には、リクエストに対応するJavaBeanとアクションクラスの定義を行います。
更にaction要素の子要素に、アクションの実行権限の付与や、入力チェック、アクション実行後の JSPの遷移先等を定義することができます。
action要素は複数記述することができます。

action要素の属性 設定内容
path このアクションを呼び出すためのリクエストURIを指定します(必須)
type このアクションに紐付くアクションクラスを指定します(必須)
weberフレームワークは、以下のアクションを標準で提供しています
  • org.itscool.weber.action.NoOpAction・・・(実行結果をsuccessで返すだけのAction)
  • org.itscool.weber.action.LoginAction・・・ログインアクション(別途ユーザ管理の設定が必要です)
  • org.itscool.weber.action.LogoutAction・・・ログアウトアクション(別途ユーザ管理の設定が必要です)
  • name クライアントから渡されてきたリクエストパラメータを保持する為のクラスを指定します

    (3) forward要素

    forward要素には、アクションの実行結果から次にどの画面(JSP/HTML)に遷移すべきかを指定します。
    forward要素は複数記述することができます。

    forward要素の属性 設定内容
    name このアクションで得られる実行結果の名前を指定します(必須)
    path 遷移先のパスを指定します(必須) weberフレームワークは、以下の遷移先を標準で提供しています
  • org.itscool.weber.action.INPUT_ERROR・・・入力チェックでエラーになった場合
  • org.itscool.weber.action.ROLE_SUCCESS・・・ログインアクションに成功した場合
  • org.itscool.weber.action.ROLE_FAIL・・・ログアウトアクションに失敗した場合 /ユーザ権限チェックでエラーになった場合

  • (4) role要素

    role要素には、そのアクションで許可するユーザ権限を指定します(この機能を利用するためには あらかじめユーザ管理の設定が必要です)。
    role要素は複数記述することができます。
    role要素が指定されていない場合、このアクションは全てのユーザから呼び出すことができます

    role要素の属性 設定内容
    name このアクションを許可する権限名を指定します(必須)


    role要素を指定するとweberフレームワーク内でこのユーザがアクションを実行する権限を持っている かどうか判定します。
    アクションの実行権限を持っていない場合、フレームワークから"org.itscool.weber.action.ROLE_FAIL"が 返されます。

    (5) param要素

    param要素は、リクエストパラメータのチェック方法を指定します。

    param要素の属性 設定内容
    name 入力チェックの対象になるリクエストパラメータの名前を指定します(必須)

    param要素配下には更にvalidate要素の指定が必要です。


    属性必須説明
    type必須 チェックする内容を選択します
    type属性に指定可能なキーは以下の通りです
  • requird 必須入力チェック
  • zenkaku 全角チェック
  • hankaku 半角チェック
  • digit 半角数値チェック
  • eisu 半角英数チェック(半角スペース許可)
  • eiji 半角英字チェック(半角スペース許可)
  • hankaku_kana 半角カナチェック
  • str_length 文字列の桁数チェック(以下のmin、max属性必須)
  • digit_length 数値の範囲チェック(以下のmin、max属性必須)
  • msgkeymsgbodyを指定しない場合は必須 入力チェックでエラーになったときに出力するメッセージをmessage-config.xml に登録されているメッセージIDで指定します
    msgbodymsgkeyを指定しない場合は必須 入力チェックでエラーになった時に出力するメッセージを指定します
    mintype属性にstr_lengthもしくはdigit_lengthを指定したとき必須 文字列の最小桁数あるいは数値の最小値を指定します
    maxtype属性にstr_lengthもしくはdigit_lengthを指定したとき必須 文字列の最大桁数あるいは数値の最大値を指定します


    入力チェックに失敗した場合、、フレームワークから"org.itscool.weber.action.INPUT_ERROR"が 返されます。

    (6) exception要素

    Webアプリケーション実行中に例外が発生したときの遷移先(JSP/HTML)を指定します

    forward要素の属性 設定内容
    name 例外クラスを指定します
    path nameで指定された例外が発生したときの遷移先を指定します