2010年11月22日月曜日
2010年11月11日木曜日
Mayaa ループ
前回は値の出力(属性への出力も)を実施したので、
今回はループ。
あとは、条件分岐をやれば、だいたいのページは生成できると思います。
さて、こんなテーブルを作りたいことありますよね。
たとえば、一覧出力画面とかで。
で、以下の状況を想定。
htmlは↓のかんじ
で、mayaaは↓のかんじ
ここでポイントなのが、<m:doBody />タグ。
これがないと、↓のようなhtml出力されてしまいます。
Mayaaのドキュメントには、以下のように書いてあります。
つまり、簡単にいうと、forプロセッサのボディを評価したければ、<m:doBody />を書け、と。
この場合だと、 を評価しないとinfoが使えませんので、ぜひ<m:doBody />を付けてください。
ちなみに、<m:for />にreplace="false"を付けないと、 が消えてしまい、
以下のようなhtmlが出力されてしまいます。
今回はループ。
あとは、条件分岐をやれば、だいたいのページは生成できると思います。
さて、こんなテーブルを作りたいことありますよね。
たとえば、一覧出力画面とかで。
で、以下の状況を想定。
- requestスコープに、listAddressというjava.util.List型のオブジェクトがある
- Listの中身はPOJOで、customerCode, customerName, customerAddressが存在する
htmlは↓のかんじ
で、mayaaは↓のかんじ
ここでポイントなのが、<m:doBody />タグ。
これがないと、↓のようなhtml出力されてしまいます。
Mayaaのドキュメントには、以下のように書いてあります。
割り当てられたタグのボディを処理します。for プロセッサなどタグのボディが有効なプロセッサで動作します。通常は明示的に使用することはありませんが、Mayaa ファイル側のボディに attribute 以外のプロセッサや空白 (タブ文字、改行を含む) 以外の文字列を記述した場合、doBody を使用しなければタグのボディが処理されません。
つまり、簡単にいうと、forプロセッサのボディを評価したければ、<m:doBody />を書け、と。
この場合だと、
ちなみに、<m:for />にreplace="false"を付けないと、
以下のようなhtmlが出力されてしまいます。
2010年11月9日火曜日
Mayaa 値の挿入
Mayaaについて書いてみる。
まあ、に書いてあるんだけど、
ここには、目的別に書いてみる。
●表示
みたいな出力をしたい場合があります。
もちろん、「○○」はセッション中の動的な値で。
そういうときは、
前提
●html
などと書きます。
もちろん、htmlの先頭には、
と書いておきます。
で、mayaaファイルには
javascript:void(0)
って書けばOKです。
上では要素として?の出力を書きましたが、
属性値に書きたい場合もありますね。
こんな場合を想定↓
●表示は省略。
テキストボックス中のvalueに出力したい場合
1. 想定するケースとしては、入力画面でsubmitしたあと、入力エラーがあって、画面を再表示する場合
2. 変更画面で、現在の値を入力しておいてあげる優しさを見せたいとき
そういうときは、
前提
●html
などと書きます。
で、mayaaファイルには
って書けばOKです。
これで、valueの中に動的な値を出力できます。
まあ、に書いてあるんだけど、
ここには、目的別に書いてみる。
セッション中の値を表示する
●表示
みたいな出力をしたい場合があります。
もちろん、「○○」はセッション中の動的な値で。
そういうときは、
前提
- セッション中にuserInfoオブジェクトが存在する
- userInfoにはuserName属性があり、そのgetter/setterが存在する(この場合setterは関係ないかも)
- ちなみにuserNameはjava.lang.String型である
●html
などと書きます。
もちろん、htmlの先頭には、
と書いておきます。
で、mayaaファイルには
javascript:void(0)
って書けばOKです。
value属性にセッション中の値を表示する
上では要素として?の出力を書きましたが、
属性値に書きたい場合もありますね。
こんな場合を想定↓
●表示は省略。
テキストボックス中のvalueに出力したい場合
1. 想定するケースとしては、入力画面でsubmitしたあと、入力エラーがあって、画面を再表示する場合
2. 変更画面で、現在の値を入力しておいてあげる優しさを見せたいとき
そういうときは、
前提
- セッション中にuserInfoオブジェクトが存在する
- userInfoにはuserName属性があり、そのgetter/setterが存在する(この場合setterは関係ないかも)
- ちなみにuserNameはjava.lang.String型である
●html
変更後のユーザ名:
などと書きます。
で、mayaaファイルには
って書けばOKです。
これで、valueの中に動的な値を出力できます。
2010年11月3日水曜日
Javaテンプレートエンジン [Mayaa]
登録:
投稿 (Atom)