リクエスト定義ファイル タグリファレンス

module [必須]

定義 : ファイルの一番外側にひとつだけ定義する。

属性 : なし

親要素: なし

子要素: request, page, resource, template, include

定義例:

<?xml version="1.0" encoding="UTF-8"?>
<module>

  <page id="p01" class="test.nga.servlet.TestData" />

  <request id="test.r" page="p01"...
  </request>

</module>

page

定義 :

module タグ内部に定義する。複数定義可。request タグの page 属性の値にここで定義した id を指定することにより,ページオブジェクトインスタンスを複数のリクエストで共有できる。

属性 :

id = ページID [必須]

class = ページオブジェクトのクラス [必須]

親要素: module

子要素: なし

定義例:

<module>

  <page id="p01" class="test.nga.servlet.TestData1" />
  <page id="p02" class="test.nga.servlet.TestData2" />

  <request id="page1-1.r" page="p01" ...
  </request>

  <request id="page1-2.r" page="p01" ...
  </request>

  <request id="page2-1.r" page="p02" ...
  </request>

</module>

request

定義 : module タグ内部に定義する。複数定義可。

属性 :

id = リクエストID [必須]

controller = コントローラクラス名.メソッド名。省略時はコントローラ呼び出しが行なわれない。コントローラクラス名を省略し,メソッド名のみを記述した場合,このリクエストで処理対象となっているページオブジェクトのメソッドが呼び出される

page = ページIDまたはページクラス名

親要素: module

子要素: parameter, result

定義例:

<module>

  <request
         id="test.r"
         controller="test.nga.servlet.TestController.countup"
         page="test.nga.servlet.TestData">

    <parameter>
    ...
    </parameter>

    <result>
    ...
    </result>

  </request>

</module>

parameter

定義 : request タグ内部に定義する。

属性 [利用者による追加可能] :

parser = ParameterParserクラス名

template =テンプレートID。template参照のこと。

親要素: request

子要素: property

定義例:

<request id="test.r">

  <parameter parser="test.nga.servlet.TestParser">
    <property ... />
    <property ... />
  </parameter>

  ...

</request>

property

定義 : parameter タグ内部に定義する。

属性 [利用者による追加可能] :

name = プロパティ名 [必須]

template =テンプレートID。template参照のこと。

parser = ( dsp ) PropertyValueParser クラス名

親要素: parameter

子要素: なし

定義例:


  <parameter>
    <property name="code" required="true" />
    <property name="date" format="yyyy/MM/dd" />
    <property name="num" length="3" scale="2" />
  </parameter>

result [必須]

定義 : request タグ内部に定義する。

属性 [利用者による追加可能] :

writer = ResultWriterクラス名

forward = 遷移先リクエストID。forward 指定をした場合,子要素 (target) は無視される。

template =テンプレートID。template参照のこと。

page = ( dsp ) 結果出力ページ。jsp ファイルのパスを指定する

error-page = ( dsp ) エラー発生時に呼び出される結果出力ページ。jsp ファイルのパスを指定する

file = ( Downloader ) ダウンロードするファイル名。

content-type = ( Downloader ) ダウンロードファイルの content-type。

delimiter = ( CSVDownloader ) CSV 出力時の列区切り文字。

quote-type = ( CSVDownloader ) 囲みタイプ [ AUTO (必要に応じて文字列に囲み記号をつける) / STRING (文字列には必ず囲み記号をつける) / NO (囲み記号をつけない) ]。デフォルトは NO。

target = ( CSVDownloader ) 出力対象プロパティ名。

親要素: request

子要素: target

定義例 (その1):

<request id="test.r">

  <result>
    <target name="cd"  id="cd"/>
    <target name="num" id="num" format="#,###"/>
    <target name="date" id="date" format="yyyy/MM/dd"/>
  </result>

</request>

定義例 (その2 - CSV出力):

<request id="test.r">

  <result writer="nga.servlet.dsp.writer.CSVDownloader"
          error-page="/jsp/error.jsp"
          file="test1.csv" target="list">
    <target name="cd" label="コード" />
    <target name="list">
      <target name="num" label="No."  />
      <target name="cd"  label="コード"/>
      <target name="date" label="日付" format="yyyy-MM-dd"/>
    </target>
  </result>

</request>

target

定義 : result タグ内部に定義する。

属性 [利用者による追加可能] :

id = 出力先ID (HTMLタグの id 属性)

value = 出力対象となる処理結果オブジェクトのプロパティ名

include = インクルードする jsp / html のパス

template =テンプレートID。template参照のこと。

type =属性タイプ。

親要素: result

子要素: target

定義例:


  <result>
    <target id="name" name="name" />
    <target id="code" name="code" />
    <target id="table" name="table" include="jsp/table.jsp" />
  </result>

resource

定義 :

module タグ内部に定義する。複数定義可。class 属性で指定したリソースバンドルクラスやプロパティファイルから取得した値を使って,parameter, property, result, target タグの属性値を指定できるようになる。属性値指定は,@[id].[定義名] の形式で行なう。

属性 :

id = リソースID [必須]

class = リソースバンドル基底名 [必須]

parent = 親リソースID

親要素: module

子要素: なし

定義例:

<module>

  <resource id="res" class="test.nga.servlet.resource.Format" />

....

  <target name="date" id="date" format="@res.dateformat" />

</module>

上記例では,クラスパス配下の test/nga/servlet/resource フォルダ中の Format.properties ファイルや Format_ja.properties ファイルに「dateformat=yyyy/MM/dd」という定義がされていることを前提とする。

template

定義 :

module タグ内部に定義する。複数定義可。parameter, property, result, target タグに対して付与するデフォルトの属性を指定する。

属性 :

id = テンプレートID [必須]

extends = 親タイプ

親要素: module

子要素: parameter, property, result, target

定義例:

<module>

  <template id="code">
    <property required="true"
              chartype="[A-Za-z0-9]*" chartype-comment="英数字"/>
  </template>

  <template id="date">
    <property format="yyyy/MM/dd" />
  </template>

  <parameter>
    <property template="code" name="code1" bytelength="2" />
    <property template="code" name="code2" bytelength="3" />
    <property template="date" name="date1" />
    <property template="date" name="date2" />
  </parameter>

</module>

上記の定義は,以下の定義と同じ。

<module>

  <parameter>
    <property name="code1" required="true"
              chartype="[A-Za-z0-9]*" chartype-comment="英数字"
              bytelength="2" />
    <property name="code2" required="true"
              chartype="[A-Za-z0-9]*" chartype-comment="英数字"
              bytelength="3" />
    <property name="date1" format="yyyy/MM/dd" />
    <property name="date2" format="yyyy/MM/dd" />
  </parameter>

</module>

ちなみに以下も同じ。

<module>

  <template id="code">
    <property required="true"
              chartype="[A-Za-z0-9]*" chartype-comment="英数字"/>
  </template>

  <template id="date">
    <property format="yyyy/MM/dd" />
  </template>

  <parameter>
    <code name="code1" bytelength="2" />
    <code name="code2" bytelength="3" />
    <date name="date1" />
    <date name="date2" />
  </parameter>

</module>

include

定義 :

module タグ内部に定義する。複数定義可。別モジュール(別ディレクトリ)のリクエスト定義ファイルをインクルードする。

属性 :

module = インクルードするモジュール名 [必須]

親要素: module

子要素: なし

定義例:

<module>

  <include module="/examples/t13" />

</module>

TOP