Zenアプリケーションの作成
それでは、Zenを使用した簡単なWebページを作成する方法について説明しましょう。まずは、Zenで何ができるかを紹介するために、デモプログラムについて説明し、その後簡単なWebページを作成してみます。
サンプルと主なデモプログラム
Cachéには、Zenのサンプルアプリケーションが用意されています。
http://localhost:57772/csp/samples/ZENDemo.Home.cls
このURIをブラウザに入力すると、SAMPLESネームスペースのデータレコードが自動生成され、Zenのデモが起動します。
このなかの「Sample Applications」にある「HelpDesk Application」について、簡単に触れてみましょう。
この「HelpDesk Application」は、担当するクライアントからのレポートをまとめたリストを表示し、プライオリティ別に表示できるアプリケーションです。
このサンプルアプリケーションのソースコードを確認したい場合は、Cachéスタジオから、SAMPLESネームスペースを選択して、サンプルのクラスを表示させてください。
簡単なZenアプリケーションの作成
それでは、一定の手順に従ってZenアプリケーションを作成してみましょう。サンプルとして作成しますので、まずは、Cachéスタジオを起動し、ネームスペースをSAMPLESにしておいてください。
- Zen Application wizardの起動
- クラス名、アプリケーション名の入力
- Zenアプリケーションのコンパイル
- Zen Page Wizardの起動
- 新規ページ名などの入力
- ページレイアウトの選択
- 生成されたページのXMLブロックの定義
- 新規ページのコンパイル
- 簡単なボタンの作成
/// My very first Zen page class. Class MyApp.MyNewPage Extends %ZEN.Component.page { /// Class name of application this page belongs to. Parameter APPLICATION = "MyApp.MyNewApp"; /// Displayed name of this page. Parameter PAGENAME = "My Home Page"; /// Domain used for localization. Parameter DOMAIN = ""; /// This Style block contains page-specific CSS style definitions. XData Style { <style type="text/css"> /* style for title bar */ #title { background: #C5D6D6; color: black; font-family: Verdana; font-size: 1.5em; font-weight: bold; padding: 5px; border-bottom: 1px solid black; text-align: center; } </style> } /// This XML block defines the contents of this page. XData Contents [XMLNamespace="http://www.intersystems.com/zen"] { <page xmlns="http://www.intersystems.com/zen" title=""> <html id="title">Title</html> <vgroup width="100%"> <!-- put page contents here --> </vgroup> </page> } }
ブロック名 | 説明 |
<page>要素 | ページオブジェクトの定義。 |
<html>要素 | ブラウザに表示する単純なHTMLの抜粋を定義。id値のtitleは、htmlオブジェクトと#title規則との間のつながりをXData Styleから作成する。htmlオブジェクトは、テキストの文字列「Title」をフォーマットし、その結果得られる出力はタイトルバーとして機能。 |
<vgroup>要素 | ここにコンポーネントを追加。ここでは空のままとする。 |
<vgroup>
要素を定義して、ボタンを1つ作ってみます。ついでにタイトルも変更してみましょう。上述したソースコードの「XData Contents」ブロックを次のように書き換えます。XData Contents [XMLNamespace="http://www.intersystems.com/zen"] { <page xmlns="http://www.intersystems.com/zen" title=""> <html id="title">Zen Exercise Results</html> <vgroup width="100%"> <button id="myButton" caption="Press Me"
onclick="zenPage.btnClick();"/> </vgroup> </page> }
zenPage.btnClick();
」は、ユーザがこのボタンをクリックしたときにクライアント側で実行されるJavaScript式です(ここではまだ何も起こりません)。 簡単なページが作成できましたが、ちゃんとしたZenアプリケーションとして機能させるためには、このあと、クライアント側メソッドとして、先ほど定義したJavaScript式「zenPage.btnClick();
」のメソッドを作成し、データベースを参照するなどのサーバ側メソッド(ZenMethod)を作成する必要があります。ここでは文字数の都合上、割愛しますが、興味のある方は、Cachéドキュメントを参照してください。