フォトアルバム

2011年10月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

なかのひと

373news.com

google Search

  • Google
    blog.ganymean.org
    WWW

Google Analytics

« Model-Glue3.0の新機能7:コンテンツキャッシュ | メイン | Model-Glue3.0の新機能9:Model-Glueリモーティング »

Model-Glue3.0の新機能8:マルチ出力フォーマット対応

Model-Glue3.0の8番目の新機能は、マルチ出力フォーマット対応機能です。
なお、この機能は現時点で未実装ですので、注意してください。

Webアプリケーション用MVCフレームワークは、もはやWebページだけでなく、さまざまな出力フォーマットに対応できる必要があります:

  • HTML形式
  • 部分HTML形式
  • XML形式
  • JSON形式

今までのModel-Glue開発では、悪評の高い重複作業が発生していました。
つまり、N個のフォーマット形式に対応するため、N個のイベントハンドラーを必要とします。

HTMLフォーマット:

<event-handler name=”user.list.page”>
        <broadcasts>
        <message name=”needUserList” />
         </broadcasts>
        <views>
        <include template=”dspUserList.cfm” name=”body” />
        </views>
        <results>
        <result do=”view.template” />
        </results>
</event-handler>

断片HTMLフォーマット(<div>置換):

<event-handler name=”user.list.pagepartial”>
        <broadcasts>
        <message name=”needUserList” />
        </broadcasts>
        <views>
        <include template=”dspUserList.cfm” name=”body” />
        </views>
</event-handler>

XMLフォーマット:

<event-handler name=”user.list.xml”>
        <broadcasts>
        <message name=”needUserList” />
        </broadcasts>
        <views>
        <include template=”dspDataAsXML.cfm” name=”body”>
                    <value name=”data” name=”userQuery” />
        </include>
        </views>
</event-handler>

JSONフォーマット:

<event-handler name=”user.list.json”>
        <broadcasts>
        <message name=”needUserList” />
        </broadcasts>
        <views>
        <include template=”dspDataAsJson.cfm” name=”body”>
                <value name=”data” name=”userQuery” />
            </include>
        </views>
</event-handler>

Gestureでは、<broadcasts>、<views>、<results>ブロックは、特定のフォーマットだけに作用するように設定できます。
フォーマット名は、URLまたはFormのHTTP要求で指定される要求メッセージの書式設定方法(デフォルト:"requestFormat")です。
これにより、Gestureでは4つのフォーマットを1つのイベントハンドラーで定義可能となります:

<event-handler name=”user.list.page”>
    <broadcasts>
        <message name=”needUserList” />
        </broadcasts>
        <views format=”HTML,HTMLPartial”>
            <include template=”dspUserList.cfm” name=”body” />
        </views>
        <views format=”JSON”>
        <include template=”dspDataAsJson.cfm” name=”body”>
                <value name=”data” name=”userQuery” />
        </include>
        </views>
        <results format=”HTML”>
        <result do=”view.template” />
        </results>
</event-handler>

トラックバック

このページのトラックバックURL:
http://app.synapse-blog.jp/t/trackback/190195/12537278

Model-Glue3.0の新機能8:マルチ出力フォーマット対応を参照しているブログ:

コメント

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。

ログイン

  • コントロールパネルへのログイン
    アカウント:

    パスワード:

更新ブログ

最近のトラックバック

Google

ブログ powered by TypePad
Member since 04/2005