Top
4-1. プロセッサリファレンス


Documentation

4-1. Mayaa core プロセッサ リファレンス

Mayaa 標準で用意しているプロセッサのリファレンスマニュアルです。

出力系

■attribute プロセッサ (↑目次へ)

echo と組み合わせた利用例

echo プロセッサおよび element プロセッサの子として使用し、親プロセッサに属性を追加します。value の実行結果が null の場合はその属性を削除します。write プロセッサのescapeXml, escapeWhitespace相当の変換をしてから出力します。(:1.1.25 で追加されたもの)

属性名
説明
必須
値の制限
規定値
name 生成する属性名。
文字列
value 生成する属性値。null の場合はその属性自体を削除。
escapeAmp () true の場合、value の
&

&
に置換する。
論理値 true

■comment プロセッサ (↑目次へ)

タグのボディが有効です。利用例

ボディの内容をコメント(<!--と-->ではさんだ状態)として出力します。

■echo プロセッサ (↑目次へ)

タグのボディが有効です。利用例

割り当てられたタグをそのまま出力します。m:echo タグのボディに attribute プロセッサを書くと属性を追加または変更、削除できます。

echo プロセッサの属性およびボディでは、スクリプトでテンプレート側の属性値を参照できます。属性名を変数名とし、属性値を文字列として持っています。たとえば a タグにバインディングした echo で ${ href } とすれば、元の a タグの href 属性の値を取得できます。

属性名
説明
必須
値の制限
規定値
name 出力するタグの要素名。   文字列 要素名を置き換える場合のみ使用する。

■element プロセッサ (↑目次へ)

タグのボディが有効です。

name で指定したタグを出力します。m:element タグのボディに attribute プロセッサを書くと属性を追加できます。

属性名
説明
必須
値の制限
規定値
name 生成するタグの要素名。
文字列

■formatDate プロセッサ (↑目次へ)

日付を指定したパターンにフォーマットして出力します。value に null を渡した場合、default 属性をしているなら default を出力します。そうでない場合は何も出力しません。

属性名
説明
必須
値の制限
規定値
value 出力する値。
java.util.Date
pattern 日付をフォーマットするパターン。
java.text.SimpleDateFormat のフォーマット書式に準じます。
文字列
default value が null の場合に出力する値。

■formatNumber プロセッサ (↑目次へ)

数値を指定したパターンにフォーマットして出力します。value に null を渡した場合、default 属性をしているなら default を出力します。そうでない場合は何も出力しません。

属性名
説明
必須
値の制限
規定値
value 出力する値。
数値
pattern 数値をフォーマットするパターン。
java.text.DecimalFormat のフォーマット書式に準じます。
文字列
default value が null の場合に出力する値。

■write プロセッサ (↑目次へ)

利用例

タグのボディが有効です。()

value で指定したオブジェクト、またはタグのボディを文字列として出力します。

(:1.1.8 で追加されたもの)

属性名
説明
必須
値の制限
規定値
value 出力する値。
ボディまたはvalueのどちらか一方必須。()
default value が null の場合に出力する値。
(escapeXml, escapeWhitespace, escapeEol
による置換処理の対象になりません)
escapeXml true の場合、value の
& , < , > , "

&amp; , &lt; , &gt; , &quot;
に置換する。
論理値 true
escapeWhitespace true の場合、value の
CR , LF , TAB文字

&#xd; , &#xa; , &#x9;
に置換する。
論理値 false
escapeEol true の場合、value の改行コード (CRLF, CR, LF) を
br タグに置換する。
論理値 true

制御系

■for プロセッサ (↑目次へ)

タグのボディが有効です。利用例

Java の for 文のように繰り返し処理をします。

  1. 最初に一度 init を実行してループ処理を開始します。
  2. 1 回の処理の最初に test を実行し、true ならループ処理を続行し、false ならループ処理を終了します。
  3. 1 回の処理の最後に after を実行します。

無限ループを避けるため、ループ回数が上限数以上になると例外が発生します。(org.seasar.maya.impl.engine.processor.TooManyLoopException)

属性名
説明
必須
値の制限
規定値
init 初期化処理。
test 判定する条件式。true ならば処理を続行。
論理値
after ループ処理 1 回の後処理。
max ループ回数の上限。 整数値 256

■forEach プロセッサ (↑目次へ)

タグのボディが有効です。

items の値を繰り返し処理します。現在の要素は var 属性で指定した名前の変数に格納され、繰り返し回数は index 属性で指定した名前の変数に格納されます (0 から始まります)。

items には java.util.Collection、java.util.Iterator、java.util.Enumeration、java.util.Map を実装したものと、配列を使えます。Iterator、Enumeration、配列はそのままの順番で処理します。Collection は iterator メソッドで取得した Iterator の順番で処理します。

Map は entrySet メソッドで取得した Set を利用し、Collection の処理に準じます。そのため Map を処理する場合には、要素は key と value の 2 つのプロパティを持ちます。

items が null の場合は長さ 0 の配列として処理します。以上のもの以外を items に渡すと、長さ 1 の配列として処理します。

属性名
説明
必須
値の制限
規定値
items 繰り返し処理する値。
java.util.Collection,
java.util.Iterator,
java.util.Enumeration,
java.util.Map,
配列
var 繰り返しの現在要素の変数名。
文字列
index 繰り返し回数の変数名。(0 開始) 文字列

■if プロセッサ (↑目次へ)

タグのボディが有効です。利用例

test の値が true の場合のみボディを処理します。

属性名
説明
必須
値の制限
規定値
test 判定する条件式。true ならば有効。
論理値

■with プロセッサ (↑目次へ)

タグのボディが有効です。利用例

with プロセッサ自体は何もしません。複数のプロセッサをグルーピングするために使います。

コンポーネント系

■doBase プロセッサ (↑目次へ)

・コンポーネントで使う場合

コンポーネントを使う元テンプレートのタグのボディを処理します。

・レイアウトを利用するテンプレートで使う場合

レイアウトの insert のタグのボディを処理します。

■doBody プロセッサ (↑目次へ)

通常は利用しません。

割り当てられたタグのボディを処理します。for プロセッサなどタグのボディが有効なプロセッサで動作します。通常は明示的に使用することはありませんが、Mayaa ファイル側のボディに attribute 以外のプロセッサや空白 (タブ文字、改行を含む) 以外の文字列を記述した場合、doBody を使用しなければタグのボディが処理されません。

■doRender プロセッサ (↑目次へ)

・コンポーネントを定義する場合

利用例

割り当てられたタグをコンポーネントとして定義します。名前は同じテンプレート上で重複しないように付けてください。

属性名
説明
必須
値の制限
規定値
name コンポーネントの名前。 文字列 "" (空文字列)
・レイアウトを利用する場合

利用例

レイアウトの insert に渡す部分を定義します。

属性名
説明
必須
値の制限
規定値
name レイアウトの insert 名。 文字列 "" (空文字列)

■insert プロセッサ (↑目次へ)

・コンポーネントを使う場合

利用例

指定したパスのコンポーネントを割り当てます。

パスはスクリプトで指定することもできます。()

(:1.1.8 で追加されたもの)

属性名
説明
必須
値の制限
規定値
path コンポーネントのパス。
( 1.1.7 以前は文字列)
name コンポーネントの名前。 文字列 "" (空文字列)
・レイアウトを定義する場合

利用例

extends しているテンプレートの名前が一致する doRender を割り当てます。

属性名
説明
必須
値の制限
規定値
name レイアウトの insert 名。 文字列 "" (空文字列)

その他

■exec プロセッサ (↑目次へ)

利用例

スクリプトを実行するために使います。script、srcの両方に指定された場合、srcから先に実行されます。

exec プロセッサで実行したスクリプトによって宣言された変数は、exec プロセッサと同じ階層のスコープで有効です。(1.1.9 以前の src 属性、および 1.1.0-beta6 以前の script 属性では、exec プロセッサの内側階層のスコープでのみ有効でした)

属性名
説明
必須
値の制限
規定値
script 実行するスクリプト。${} 表記で記述します。
src 実行する外部 JavaScript ファイルのパス。コンテキストルートからの絶対パス、Mayaa ファイルからの相対パスで記述できます。 文字列
encoding src で指定したファイルを読み込むときの
文字エンコーディング。
Java文字セット名 file.encoding
or UTF-8

■ignore タグ (↑目次へ)

利用例

割り当てた id を処理対象外にします。(ignore はプロセッサではなくエンジン機能ですが、利用の仕方に違いはありません)

■null タグ (↑目次へ)

利用例

何も出力しません。(null はプロセッサではなくエンジン機能ですが、利用の仕方に違いはありません)

Copyright (c) 2004-2009 the Seasar Foundation and others. all rights reserved.