-------- Mayaa -------- agata baba -------- 2008-03-01 -------- {目次} *{{{#Mayaa}Mayaa}} *{{{#Mayaa_と連携するための設定}Mayaa と連携するための設定}} *{{{#Cubby_と_Mayaa_の使い分け}Cubby と Mayaa の使い分け}} {Mayaa} HTML をテンプレートとしてビューを作成したい場合、HTML テンプレートエンジンである{{{http://mayaa.seasar.org}Mayaa}}と連携することができます。 以下、Mayaaとの連携方法を示します。\ 動作は Cubby 1.1.0、Mayaa-1.1.18で確認しています。\ Cubby のバージョンとそれに対応する Mayaa の必須バージョンは以下の表で確認してください。 *-----------+-----------+ || Cubby || Mayaa | *-----------+-----------+ | 1.1.x 系 | >= 1.1.18 | *-----------+-----------+ | 1.0.x 系 | >= 1.1.15 | *-----------+-----------+ Mayaa の必須バージョン また、Cubby のサンプル war に「Mayaa との連携のサンプル」がありますのでそちらも参照ください。 {Mayaa と連携するための設定} [[1]]Mayaa の依存 jar ファイルを追加する Mayaa が依存する jar ファイルを全て追加します。Maven2 を使用している場合は dependencies ディレクティブに Mayaa を追加するだけでOKです。 [[2]]web.xml へ MayaaServlet を追加する web.xml に MayaaServlet を定義し、*.html を処理するように設定します。 +------------------------------------------------------+ ... MayaaServlet org.seasar.mayaa.impl.MayaaServlet 1 ... MayaaServlet *.html ... +------------------------------------------------------+ [[3]]アクションメソッドのフォワード先を「*.html」にする アクションクラスはJSPの時と作り方は変わりません。\ アクションメソッドのフォワード先を「*.html」にして、ビューが Mayaa で実行されるようにします。 +------------------------------------------------------+ public class MayaaComponentsAction extends Action { ... @Override public void prerender() { super.prerender(); hobbies = getHobbies(); colors = getColors(); } @Form("form") public ActionResult components() { return new Forward("components.html"); } ... } +------------------------------------------------------+ [[4]]HTML テンプレートと Mayaa ファイルを作成する HTML テンプレートと Mayaa ファイルを作成します。\ これは Mayaa のルールで作成します。Cubby のカスタムタグを Mayaa ファイルに記述することで、Cubby の機能を Mayaa から利用できます。 {Cubby と Mayaa の使い分け} Cubby と Mayaa は機能が一部重複しています。\ レイアウト共有やコンポーネント(HTML 部品)、JavaScript(Rhino)による強力なスクリプト機能は Mayaa のほうが優れているので、そのまま使用することをおすすめします。 例えば下記の例では、テーブルの行毎の色づけ(odd/even)を Mayaa の forEach プロセッサと JavaScript で実現しています。 Cubby のカスタムタグは主に入力フォームの生成に使用してください。 <> +------------------------------------------------------+ components.html [戻る]

コンポーネント一覧

Input Text

Input Text(date)

Input Text(int)

Select

TextArea


Checkbox


Checkbox(Array)


Radio


1 2 3

Odd & Null

ID LABEL
dummy0 dummy0 name
dummy1 dummy1 name
dummy2 dummy2 name

+------------------------------------------------------+ <> +------------------------------------------------------+ +------------------------------------------------------+