# リクエスト定義ファイル デフォルトテンプレートリファレンス

## 目次

## テンプレートについて

リクエスト定義ファイルでは，属性定義を簡単に行なうために，テンプレートという機能が利用できます。テンプレートとは，良く使う属性定義をあらかじめまとめて定義しておく機能です。
あらかじめ定義されたテンプレート属性は，利用者側の定義ファイルで <target template="テンプレートID" ... というふうに template 属性でテンプレートIDを指定するか，<テンプレートID ... というふうにテンプレートIDをタグ名として記述することで利用できます。（テンプレート機能の定義例についてはこちらを参照）

テンプレートは，利用者が自由に定義することができますが，Congaフレームワーク自体でも，いくつかのテンプレートを /conga/conf/template.xml で，あらかじめ定義しています。
これをデフォルトテンプレートと呼びます。
このリファレンスでは，/conga/conf/template.xml に定義されているテンプレートの定義とテンプレート使用時に利用可能な属性を説明します。

このリファレンスは以下の形式で記述されています。

> ## [テンプレートID] : [テンプレートの機能]

> ### 変換可能クラス

> #### Value オブジェクトのプロパティとして利用可能なクラスを示します。

> ### property 属性 [テンプレート定義内容]

> #### property タグで利用可能な属性

> ### target 属性 [テンプレート定義内容]

> #### target タグで利用可能な属性

## text : 汎用的なテキスト入力項目

### 変換可能クラス

#### java.lang.String

### property 属性

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

#### required = 必須入力項目かどうか ( true / [false] )

#### label = ラベル文字列。エラーメッセージ中の項目名等として使用される

#### length = 文字数

#### bytelength = バイト数

#### chartype = 文字種。String.matchesの引数に指定可能な正規表現を指定する

#### chartype-comment = 文字種の説明。chartype 属性チェックでエラーが発生した際のエラーメッセージに使用される

### target 属性 [type="outer" writer="nga.servlet.dsp.writer.TextInputWriter" input-type="text"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### read-only* = 編集不可とするかどうか。(true / [false])

#### length = 入力可能文字数。

### 定義例：

      <parameter>
        <text name="code" required="true"
                  chartype="[A-Za-z0-9]*" chartype-comment="英数字"
                  bytelength="3" />
      </parameter>

      <result>
        <text name="code" id="code" length="3" />
      </result>

## alnum : 英数字用入力項目

### 変換可能クラス

#### java.lang.String

### property 属性 [chartype="[A-Za-z0-9]*" chartype-comment="@dspl.alnum"]

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

#### required = 必須入力項目かどうか ( true / [false] )

#### length = 文字数

#### bytelength = バイト数

### target 属性 [type="outer" input-type="alnum" writer="nga.servlet.dsp.writer.TextInputWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### read-only* = 編集不可とするかどうか。(true / [false])

#### length = 入力可能文字数。

### 定義例：

      <parameter>
        <alnum name="code" required="true" bytelength="3" />
      </parameter>

      <result>
        <alnum name="code" id="code" length="3" />
      </result>

## number : 数字用入力項目

### 変換可能クラス

#### int, long, double, float, short, byte, java.lang.Number のサブクラス

### property 属性

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

#### required = 必須入力項目かどうか ( true / [false] )

#### length = 整数部と小数部を合計した桁数（"." は含まない）

#### scale = 小数部桁数

### target 属性 [type="outer" input-type="number" writer="nga.servlet.dsp.writer.TextInputWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### read-only* = 編集不可とするかどうか。(true / [false])

#### length = 整数部と小数部を合計した桁数（"." は含まない）

#### scale = 小数部桁数

#### positive-only = 整数のみを入力許可するかどうか (true / [false])

### 定義例：

      <parameter>
        <number name="nm" required="true" length="8" scale="2" />
      </parameter>

      <result>
        <number name="nm" id="nm" length="8" scale="2" format="#,##0.00" />
      </result>

## date : 日付用入力項目

### 変換可能クラス

#### java.util.Date, java.sql.Date, java.sql.Time, java.sql.Timestamp

### property 属性 [format="@dspf.date-format"]

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

#### required = 必須入力項目かどうか ( true / [false] )

#### format = 書式文字列

### target 属性 [type="outer" format="@dspf.date-format" length="@dspf.date-length" input-type="date" writer="nga.servlet.dsp.writer.TextInputWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### read-only* = 編集不可とするかどうか。(true / [false])

#### length = 入力可能桁数

#### format = 書式文字列

### 定義例：

      <parameter>
        <date name="dt" required="true" format="yyyyMMdd" />
      </parameter>

      <result>
        <date name="dt" id="dt" length="8" format="yyyyMMdd" />
      </result>

## time : 時間用入力項目

### 変換可能クラス

#### java.util.Date, java.sql.Date, java.sql.Time, java.sql.Timestamp

### property 属性 [format="@dspf.time-format"]

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

#### required = 必須入力項目かどうか ( true / [false] )

#### format = 書式文字列

### target 属性 [type="outer" format="@dspf.time-format" length="@dspf.time-length" input-type="time" writer="nga.servlet.dsp.writer.TextInputWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### read-only* = 編集不可とするかどうか。(true / [false])

#### length = 入力可能桁数

#### format = 書式文字列

### 定義例：

      <parameter>
        <time name="dt" required="true" format="HHmm" />
      </parameter>

      <result>
        <time name="dt" id="dt" length="4" format="HHmm" />
      </result>

## select : ドロップダウンリスト

### 変換可能クラス

#### nga.model.SelectableList。option 指定した場合は，java.lang.String, int, long, double, float, short, byte, java.lang.Number のサブクラス, java.util.Date のサブクラス

### property 属性

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

### target 属性 [type="outer" writer="nga.servlet.dsp.writer.SelectWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### size = リスト項目数

#### format = リスト項目を書式指定表示したい場合に使用する書式文字列

#### onchanged* = リスト項目選択変更時に呼び出されるスクリプト

#### request-onchanged* = リスト項目選択変更時に呼び出されるリクエストID

### 定義例：

      <parameter>
        <select name="list2" />
      </parameter>

      <result>
        <select name="list2" id="list2" size="10" />
      </result>

## option : ドロップダウンリスト項目

リクエスト定義ファイルの中で固定的にドロップダウンリスト項目を指定したい場合に使う

### 変換可能クラス

#### なし

### property 属性

#### なし

### target 属性

#### value = 選択時にサーバに送信される項目値。指定しない場合は，記述順に配列番号が設定される。

#### label = 項目内容として画面上に表示される文字列

#### selected = 指定された項目を選択状態にするかどうか (true / [false])

### 定義例：

      <result>
        <select id="list1" name="list1" request-onchanged="update.r">
          <option value="0" label="果物" selected="true" />
          <option value="1" label="野菜"/>
          <option value="2" label="魚"/>
        </select>
      </result>

## button : ボタン

### 変換可能クラス

#### なし

### property 属性

#### なし

### target 属性 [type="outer" writer="nga.servlet.dsp.writer.ButtonWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

#### label* = 表示文字列

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### onclicked* = クリック時に呼び出されるスクリプト

#### request-onclicked* = クリック時に呼び出されるリクエストID

### 定義例：

      <result>
        <button id="bt" label="実行" request-onclicked="execute.r" />
      </result>

## check-box : チェックボックス

### 変換可能クラス

#### boolean, java.lang.Boolean

### property 属性

#### なし

### target 属性 [type="outer" writer="nga.servlet.dsp.writer.CheckBoxWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### onchanged* = チェック状態変更時に呼び出されるスクリプト

#### request-onchanged* = チェック状態選択変更時に呼び出されるリクエストID

### 定義例：

      <result>
        <check-box name="checkStatus" id="cb"  />
      </result>

## radio : ラジオボタン

### 変換可能クラス

#### java.lang.String, int, long, double, float, short, byte, java.lang.Number のサブクラス, java.util.Date のサブクラス

### property 属性

#### なし

### target 属性 [type="outer" writer="nga.servlet.dsp.writer.RadioWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### value = 選択時にサーバに送信される項目値。指定しない場合は id が設定される。

#### class* = CSSのクラス。

#### visible* = 表示するかどうか。([true] / false)

#### disabled* = 利用不可とするかどうか。(true / [false])

#### onchanged* = チェック状態変更時に呼び出されるスクリプト

#### request-onchanged* = チェック状態選択変更時に呼び出されるリクエストID

### 定義例：

      <result>
        <radio name="status" id="c-1" value="1" />
        <radio name="status" id="c-2" value="2" />
        <radio name="status" id="c-3" value="3" />
      </result>

## celcel : Celcel テーブル

### 変換可能クラス

#### java.util.List。
選択された行を取得する必要がある場合は nga.model.SelectableList。
選択された行列を取得する必要がある場合はnga.model.SelectableTable

### property 属性

#### なし

### target 属性 [type="celcel" writer="nga.servlet.dsp.writer.CelcelWriter"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

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

#### height = テーブルの高さ

#### row-height = １行の高さ。[20px]

#### scroll = スクロールバーを表示するかどうか。（[true] / false）

#### selection-mode = 選択モード。(row / column / [cell])

#### auto-selection = 自動選択（マウス移動で選択される）モードにするかどうか。(true / [false])

#### request-onclicked = クリック時に呼び出されるリクエストID

#### request-onselected = 選択時に呼び出されるリクエストID

### 定義例：

      <result>
        <celcel name="list" id="table" row-height="18" height="400" >
          <col fixed="true" label="No." width="20" />
          <col name="text" label="文字列" editable="true" width="100" />
          <col name="num"  label="数値"   class="number" format="000" width="40" />
          <col name="date" label="日付"   class="date" format="yyyy-MM-dd" width="80" />
        </celcel>
      </result>

## col : Celcel テーブル列定義

### 変換可能クラス

#### なし

### property 属性

#### なし

### target 属性

#### name = 出力対象となる処理結果オブジェクトのプロパティ名。指定しない場合は，行番号が出力される

#### width = １列の幅。[20px]

#### format = 列内容を書式指定表示したい場合に使用する書式文字列

#### label = 列ヘッダに表示する文字列

#### fixed = 固定列とするかどうか。(true / [false])。固定列は左端から指定できる。固定列指定しない列よりも右列に固定列指定することはできない。

#### class* = CSSのクラス。

#### editable* = 編集可能とするかどうか。(true / [false])

### 定義例：

      <result>
        <celcel name="list" id="table" row-height="18" height="400" >
          <col fixed="true" label="No." width="20" />
          <col name="text" label="文字列" editable="true" width="100" />
          <col name="num"  label="数値"   class="number" format="000" width="40" />
          <col name="date" label="日付"   class="date" format="yyyy-MM-dd" width="80" />
        </celcel>
      </result>

## tree : ツリー

### 変換可能クラス

#### nga.model.Tree

### property 属性

#### なし

### target 属性 [type="tree" writer="nga.servlet.dsp.writer.TreeWriter" opened-node-icon="/conga/dhtml/img/folder-opened.png" closed-node-icon="/conga/dhtml/img/folder-closed.png" node-icon="/conga/dhtml/img/file.png" plus-icon="/conga/dhtml/img/plus.png" minus-icon="/conga/dhtml/img/minus.png"]

#### id = 出力先ID (HTMLタグの id 属性) [必須]

#### name = 出力対象となる処理結果オブジェクトのプロパティ名 [必須]

#### plus-icon = ＋記号を表すアイコン。

#### minus-icon = －記号を表すアイコン。

#### node-icon = ノードのデフォルトアイコン。

#### opened-node-icon = ノードが開いていることを表すアイコン。

#### closed-node-icon = ノードが閉じていることを表すアイコン。

#### request-onselected = ノード選択時に呼び出されるリクエストID

#### request-onopening = ノードオープン時に呼び出されるリクエストID

#### request-onclosing = ノードクローズ時に呼び出されるリクエストID

#### request-onloading = ノードがオープンされ，子ノードをロードする必要がある時に呼び出されるリクエストID

### 定義例：

      <result>
        <tree name="tree" id="tree" request-onloading="load.r"/>
      </result>

## tree-node : ツリーノード

現在選択されているツリーノードが出力される。

### 変換可能クラス

#### nga.model.TreeNode

### property 属性

#### なし

### target 属性 [type="tree-node" writer="nga.servlet.dsp.writer.TreeNodeWriter"]

#### id = 出力先ツリーのID (HTMLタグの id 属性) [必須]

#### name = ツリーの出力対象となる処理結果オブジェクトのプロパティ名 [必須]

### 定義例：

      <result>
        <tree-node name="tree" id="tree" />
      </result>

TOP