Home   Single Page

ZK 開発者 ガイド

バージョン 3.6.2


目次

1. はじめに
従来の Web アプリケーション
Ad-hoc AJAX アプリケーション
ZK とは
ZK でないものとは
ZK の制限
2. さあ、はじめましょう
Hello World!
対話
zscript 要素
スクリプト言語
別ファイルの中のスクリプト
attribute 要素
EL 表記
id 属性
if と unless 属性
forEach 属性
use 、 apply 属性
use 属性
apply 属性
zscript で Java クラスを実装する
forward 属性
手動でコンポーネントを作る
ZUMLを使わずにZKアプリケーションを開発
特定のページに新しいコンポーネントを定義する
3. 基礎
アーキテクチャ概要
実行の流れ
コンポーネント、ページ と デスクトップ
コンポーネント
ページ
デスクトップ
コンポーネントの森
コンポーネント:視覚表現とJavaオブジェクト
識別子
UUID
IDスペース
ネーム空間とIDスペース
zscriptの中で定義された変数とファンクション
イベント
デスクトップとイベント処理
デスクトップとコンポーネントの作成
ZUMLとXMLネーム空間
4. コンポーネントのライフサイクル
ページの読み込みサイクル
ページ初期段階
コンポーネント作成段階
イベント処理段階
書き込み(Rendering)段階
ページ更新のライフサイクル
リクエスト処理段階
イベント処理段階
書き込み段階
モールド(Molds)
コンポーネントのガーベジコレクション
5. イベントの監視・処理
マークアップ言語によるイベントリスナの追加
プログラムによるイベントリスナの追加・削除
メンバーを宣言する
動的にイベントリスナを追加と削除
可延イベントリスナ(通信のタイミングを遅らせるイベントリスナ)
動的にページにてイベントリスナを追加と削除
呼び出し順序
呼び出し順序を中止
イベントリスナからイベントを送信とポストそしてエコー
イベントをポスト
イベントを送信
イベントのエコー
スレッドモデル
中断と再開
長時間処理
イベント処理スレッドを初期化とクリーンアップ
各イベントを処理する前に初期化
各イベントを処理した後にクリーンアップ
6. ZKユーザーマークアップ言語
XML
要素はWell-formedであるべき
特別な記号は取り替えなければなりません
属性値は指定し引用しなければなりません
コメント
文字のエンコード
ネーム空間
条件付き処理
If と Unless
Switch と Case
Choose と When
繰り返し
each 変数
forEachStatus 変数
イベントリスナ中のeachとforEachStatus変数の使用方法
ロードオンデマンド
fulfill属性によるロードオンデマンド
イベントリスナを使用したロードオンデマンド
暗黙オブジェクト
暗黙オブジェクト一覧
リクエストと実行についての情報
プロセス命令
page コマンド
component コマンド
init コマンド
variable-resolver コマンド
import コマンド
linkとmeta コマンド
ZK 属性
apply 属性
use 属性
if 属性
unless 属性
forEach 属性
for EachBegin 属性
for EachEnd 属性
fulfill 属性
forward 属性
zk 要素
zk 要素
zscript 要素
attribute 要素
variables 要素
custom-attributes 要素
コンポーネントセットとXMLネーム空間
標準的なネーム空間
7. ZUMLとXULコンポーネントセット
ベーシックコンポーネント
ラベル
ボタン
ラジオとラジオグループ
イメージ
イメージマップ
オーディオ
入力制御
カレンダー
プログレスメーター
スライダー
タイマー
ページング
ウィンドウズ
タイトルとキャプション
closableプロパティ
sizableプロパティ
スタイルクラス(sclass)
contentStyleプロパティ
ボーダー
オーバーラップ、ポップアップ、モーダル、ハイライト、埋め込み
positionプロパティ
コモンダイアログ
レイアウトコンポーネント
入れ子構造ボーダーレイアウトコンポーネント
size と border プロパティ
splittable collapsible プロパティ
flex プロパティ
open プロパティ
onOpen イベント
ボックスモデル
spacingプロパティ
widthとheightsプロパティ
スプリッター
タブボックス
多重タブボックス
アコーディオンタブボックス
orientプロパティ
タブの align プロパティ
closableプロパティ
disabled プロパティ
タブパネルのロードオンデマンド
グリッド
スクロール可能なグリッド
サイズ変更可能な行
ページングとグリッド
並び替え
ライブデータ
補助ヘッダー
特別なプロパティ
追加レイアウトコンポーネント
セパレータとスペース
グループボックス
ツールバー
メニューバー
メニューコマンドの実行
チェックボックスとしてのメニュー項目の使用
autodropプロパティ
onOpenイベント
その他のメニュー機能
コンテキストメニュー
カスタマイズ可能なTooltipとポップアップメニュー
onOpenイベント
リストボックス
多数行のリストボックス
行のヘッダー
行のフッター
ドロップダウンリスト
複数選択
スクロール可能なリストボックス
サイズ変更可能なリストヘッダー
ページングを伴ったリストボックス
ソーティング
特別なプロパティ
ライブデータ
ボタンを含むリストボックス
ツリーコントロール
OpenプロパティとonOpenイベント
複数選択
ページング
特別なプロパティ
ツリーコントロールへのCreate-on-Open
コンボボックス
autodropプロパティ
descriptionプロパティ
onOpenイベント
onChangingイベント
バンドボックス
closeDropdownメソッド
autodropプロパティ
onOpenイベント
onChangingイベント
チャート
ライブデータ
ドリルダウン(onClickイベント)
エリア処理
ドラッグ&ドロップ
draggableとdroppableプロパティ
onDropイベント
複数選択のドラッグ
多種のドラッグ可能なコンポーネント
HTML関連コンポーネント
htmlコンポーネント
ネイティブネームスペース, http://www.zkoss.org/2005/zk/native
XHTML ネームスペース, http://www.w3.org/1999/xhtml
Includeコンポーネント
styleコンポーネント
scriptコンポーネント
iframeコンポーネント
HTMLフォームとJavaサーブレットの使用
nameプロパティ
nameプロパティをサポートするコンポーネント
リッチユーザーインターフェース
クライアント側の動作
コンポーネントの参照
onshowとonhide動作
CSA JavaScript ユーティリティ
イベント
マウスイベント
Keystroke イベント
入力イベント
リストとツリーイベント
スライダーとスクロールイベント
他のイベント
8. データバィンディング
Basic コンセプト
データソースを追加する
データバィンディングマネージャーを活性化する
UI コンポーネントをデータソースと関連付ける
データソースを 何時UI にロードするか
UI コンポーネントからデータソースに何時格納するか
同一のデータソースを複数の UI コンポーネントに関連付ける
UI コンポーネントをコレクションと関連付ける
データソースと UI コンポーネント間の変換をカスタマイズ
データバィンディングマネージャーのアクセス権限の定義
9. ZUMLとXHTMLコンポーネントセット
目的
XHTMLページは有効なZUMLページ
サーバー中心構造の対話能力
サーブレットはそのまま
相違
Each タグ用のコンポーネント
UUIDはIDです
すべてのタグは有効
大文字・小文字を区別せず
モールドはサポートされません
ブラウザでのDOMツリー
TABLEとTBODYタグ
イベント
JSF、JSP、その他を組み込む
既存のサーブレットを使用
Inclusionでリッチにする
静的なHTMLページをリッチにする
ZK JSPタグの使用
ZK JSF コンポーネントの使用
ZKフィルターを使用して動的に生成したページをリッチにする
10. マクロコンポーネント
マクロコンポーネントを使用する三つのステップ
ステップ1.実装
ステップ2.宣言
ステップ3.使用
インラインマクロ
レギュラー(標準)マクロ
マクロコンポーネントとIDスペース
メソッドを使う
11. 上級者のための機能
ページ識別
コンポーネント識別
コンポーネントパス
並び替え(ソート)
ブラウザの情報とコントロール
onClientInfoイベント
org.zkoss.ui.util.Clients クラス
ウィンドウを閉じさせないようにする
ブラウザの履歴管理
適切な状態をブラウザの履歴へ付加
onBookmarkChangedイベントの監視とデスクトップの処理
簡単な例
iframe でブックマーク
コンポーネント複製
コンポーネントの直列化
直列化可能なセッション
直列化リスナ
ページ間における通信
イベントをポストする、または送信する
属性
Iウェブアプリ間における通信
クラスパスから取得するウェブリソース
アノテーション
ZUML ページにアノテーシションを付加する
手動で生成されたコンポーネントにアノテーションを付加する
アノテーションの取得
リッチレット
org.zkoss.zk.ui.Richletインターフェースの実装
web.xmlとzk.xmlを設定
セッションタイムアウト管理
エラー処理
ページ読み込み中のエラー処理
ページ更新中のエラー処理
その他
ZKローダーが出力を圧縮しないように設定
12. パフォーマンス改善のためのヒント
コンパイルしたJavaコードを使用
遅延属性の使用
遅延属性と onCreate イベント
フォワード属性の使用
サーブレットスレッドを使用してイベントを処理
モーダルウィンドウ
メッセージボックス
ファイルアップロード
XHTML ネームスペースの代わりにネィティブネームスペースの使用
ファイルが変更されたかどうかを調べるため期間を延長
子コンポーネントの作成を遅らせる
巨大なリストボックスにおけるライブデータとページングの使用
ZKフィルターの代わりにZK JSP タグを使用
13. 他デバイスと出力フォーマット
ZK モバイル
モバイル コンポーネント セット, http://www.zkoss.org/2007/mil
XML 出力
ZUML ページで XML 出力を生成するための 3 つのステップ
XML コンポーネント セット
14. 国際化
ロケール
px_preferred_localセッション属性
リクエストインターセプター
タイムゾーン
px_preferred_time_zoneセッション属性
リクエストインターセプター
ラベル
ロケール依存ファイル
ブラウザとロケール依存URI
Javaでブラウザとロケール依存するリソースを制御
メッセージ
テーマ
フォントサイズの変更 と/または ファミリー
独自のテーマの使用
テーマ プロバイダー
15. データベースとの接続
ZKはプレゼンテーション層
JDBCを使用する最も簡単な方法(しかし、推奨しません)
コネクションプーリングを使用
接続とコネクションを閉じること
コネクションプーリングの設定
データベースアクセスに使用可能なZKの機能
org.zkoss.zk.ui.event.EventThreadCleanupインターフェース
EL表記でデータベースにアクセス
トランザクションとorg.zkoss.zk.util.Initiator
16. ハイバーネート統合
ハイバーネートとは
ハイバーネートのインストール
ZK 構成ファイルの編集
Java オブジェクトの作成
Java オブジェクトのマッピング
Mapping ファイルの使用
Java アノテーションの使用
Hibernate 構成ファイルの作成
DAO オブジェクトの作成
ZUML ページでパーシスタンスオブジェクトにアクセス
17. スプリング統合
スプリングとは
スプリングを使用するための前提条件
Web ライブラリに spring.jar をコピーする
web.xml の構成
Spring 構成ファイルの作成
Spring Bean クラスの作成
ZUML ページで Spring Bean にアクセス
variable-Resolver を使用する
SpringUtil を使用する
Spring セキュリティ
sample アプリケーションの実行
Spring セキュリティを使用するための最低条件
/WEB-INF/web.xml ファイルの構成
/WEB-INF/applicationContext-security.xml の作成
どの service をセキュアにすべきか決定する
どの ZK イベント をセキュアにすべきか決定する
ZUML ページ
18. ポータルとの統合
設定
WEB-INF/portlet.xml
WEB-INF/web.xml
使用方法
zk_page と zk_richlet パラメーターと属性
19. ZKの延長
ロガー
ZKにてログレベルを設定する方法
i3-log.confの中身
i3-log.confの位置
すべてのログを使用不可にする
DSP
iDOM

SIMPLY RICH

ZKTM

February 2009

Potix Corporation

Revision 225

Copyright ゥ Potix Corporation. All rights reserved.

The material in this document is for information only and is subject to change without notice. While reasonable efforts have been made to assure its accuracy, Potix Corporation assumes no liability resulting from errors or omissions in this document, or from the use of the information contained herein.

Potix Corporation may have patents, patent applications, copyright or other intellectual property rights covering the subject matter of this document. The furnishing of this document does not give you any license to these patents, copyrights or other intellectual property.

Potix Corporation reserves the right to make changes in the product design without reservation and without notification to its users.

The Potix logo and ZK are trademarks of Potix Corporation.

All other product names are trademarks, registered trademarks, or trade names of their respective owners.