フォトアルバム

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

« ModelGlue Ver1.0RC1 | メイン | Model-Glue DTD »

Model-Glue.xmlの拡張

Sean Corfieldのブログで、Model-Glue DTD がVer1.0のリリースにあわせて検討されているらしい旨を書かれていたが、Ver1.0RC1では今だリリースされていない。
そんなところに、Wayne Grahamのブログで、modelglue.xmlに、DOCTYPEを定義して拡張する方法が記述されていた。

ポイントは以下のとおり。
1.modelglue.xml内に、DOCTYPEを定義する。
2.外部拡張用フォルダとして、wwwroot内(もしくは、マッピングフォルダ内)にtempletesフォルダを作成する。
3.templetes配下にmodelGlueアプリケーションフォルダ:stockQuateを作成し、三つの拡張xmlファイルを作成する。
 1)config.xml
  2)controllers.xml
  3)event-handlers.xml
4.model.glue.xmlの定義イメージは以下のとおり。

<!DOCTYPE  [
     <!ENTITY mapping
"/modelgluesamples">
     <!ENTITY appName "StockQuote">
     <!ENTITY folder "stockquate">
     <!ENTITY hello "HelloWorld">
     <!ENTITY config SYSTEM "http://localhost/modelgluesamples/templates/stockquate/config.xml">
     <!ENTITY controllers SYSTEM "http://localhost/modelgluesamples/templates/stockquate/controllers.xml">
     <!ENTITY events SYSTEM "http://localhost/modelgluesamples/templates/stockquate/event-handlers.xml">
  ]>
    <modelglue>
     &config;
     &controllers;
         &events;
  </modelglue>

5.config.xmlの定義イメージは以下のとおり。

<?xml version="1.0" encoding="UTF-8"?>
  <config>
              <setting name="defaultEvent" value="&appName;" />
              <setting name="applicationMapping" value="&mapping;/&folder;" />
              <setting name="beanMappings" value="&mapping;/&folder;/config/beans/" />
              <setting name="viewMappings" value="&mapping;/&folder;/views" />
              <setting name="reload" value="false" />
              <setting name="reloadKey" value="init" />
              <setting name="reloadPassword" value="true" />
              <setting name="statePrecedence" value="Form" />
              <setting name="eventValue" value="event" />
              <setting name="modelGlueMapping" value="/ModelGlue" />
              <setting name="defaultExceptionHandler" value="Exception" />
              <setting name="debug" value="true" />
              <setting name="defaultCacheTimeout" value="5" />
       </config>

6.controller.xmlの定義イメージは以下のとおり。

<?xml version="1.0" encoding="UTF-8"?>
  <controllers>
      <controller name="myController" type="&mapping;.&folder;.controller.Controller">
          <message-listener message="OnRequestStart" function="OnRequestStart" />
          <message-listener message="OnRequestEnd" function="OnRequestEnd" />
          <message-listener message="DoHelloWorld" function="GetGreeting" />
          <message-listener message="DoStockQuote" function="GetStockQuote" />
      </controller>
  </controllers>

7.event-handler.xmlの定義イメージは以下のとおり。

<?xml version="1.0" encoding="UTF-8"?>
  <event-handlers>
      <event-handler name="Home">
          <results>
              <result do="Layout" />
          </results>
      </event-handler>
            <event-handler name="&hello;">
          <broadcasts>
              <message name="DoHelloWorld" />
          </broadcasts>
          <views>
              <include name="content" template="dsp.helloworld.cfm">
                  <value name="greeting" value="I am the default greeting." />
              </include>
          </views>
          <results>
              <result do="Layout" />
          </results>
      </event-handler>
            <event-handler name="&appName;">
          <broadcasts>
              <message name="DoStockQuote">
                  <argument name="DefaultSymbol" value="MACR" />
              </message>
          </broadcasts>
          <views>
              <include name="content" template="form.&folder;.cfm" />
          </views>
          <results>
              <result name="BadSymbol" do="BadStockSymbol" />
              <result do="Layout" />
          </results>
      </event-handler>
            <event-handler name="BadStockSymbol" access="private">
          <views>
              <include name="content" template="dsp.badStocksymbol.cfm" />
          </views>
      </event-handler>
            <event-handler name="Layout" access="private">
          <views>
              <include name="main" template="layout.main.cfm" />
          </views>
      </event-handler>
            <event-handler name="Exception">
          <views>
              <include name="body" template="exception.cfm" />
          </views>
      </event-handler>
  </event-handlers>

トラックバック

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

Model-Glue.xmlの拡張を参照しているブログ:

コメント

コメントを投稿

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

ログイン

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

    パスワード:

更新ブログ

最近のトラックバック

Google

ブログ powered by TypePad
Member since 04/2005