S2Wicketの紹介



Similar documents
5-1- 基 開 発 フレームワークに 関 する 知 識 現 在 普 及 が 期 待 されている 開 発 フレームワークの 実 際 の 開 発 運 用 Ⅰ. 概 要 の 際 に 必 要 な 管 理 知 識 手 法 の 種 類 と 特 徴 内 容 を 理 解 し 必 要 なノ ウハウを 実 務 レベル


DIコンテナ 前 回 ご 説 明 したSpring DIコンテナに 共 通 するこ とは 依 存 を 注 入 することによってシステム 内 に 存 在 するオブジェクト 同 士 の 結 びつきを 緩 くすることで あり そのための 仕 組 み 提 供 を 意 味 する [Spring のDIコンテナ

Wicket as Meta-Framework

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

おすすめページ

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

[1]...1 [2]...1 [3] Java Web...3 [4] Java Web...18 [

Teedaで始めるPage駆動開発

Microsoft Word - FBE3A91F.doc

java_servlet2_見本

2 Wee とは Wee はホームページの 更 新 ツールです Wee は サイトの 枠 組 みをWeb 製 作 業 者 が 作 成 し 更 新 は お 客 様 に 自 由 にしていただこうというコンセプトの 製 品 です インターネットに 繋 がる 場 所 ならどこからでも ブラウザでホームページ

メディプロ1 Javaサーブレット補足資料.ppt

シラバスの作成と管理用Webシステムの開発

WebOTXマニュアル

PowerPoint プレゼンテーション

目 次 1.はじめに 書 式 の 説 明 表 紙 スケジュール 組 入 れ 基 準 併 用 禁 止 薬 併 用 注 意 薬 同 種 同 効 薬 医 師 モニタリング..

Web Servlet/JSP JSP

T2でつなごう! -つなぐつながるWebフレームワーク「T2」の紹介

JavaScript演習

S2Pradoの紹介

PowerPoint プレゼンテーション

untitled

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

Microsoft PowerPoint - webサイト更新マニュアル ppt [互換モード]

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

7_16.dvi

<4D F736F F F696E74202D C90BF8F CC8DEC90AC97E181698A4F8D E8816A5F56322E707074>

GulfStar1.5ユーザーマニュアル

Enterprise Architect日本語版 モデリング操作ガイド (データベースモデリング編)

データベースS 演習資料

スライド 1

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

複合検索機能マニュアル

(Microsoft PowerPoint _RT\215u\217K\211\357)

方程式を解いてみよう! C++ から PHP + JavaScriptへ

1. JIS X :2010に 基 づいた 試 験 概 要 1-1. JIS X :2010に 基 づいた 試 験 の 特 徴 1-2. 試 験 の 基 本 的 な 流 れ 1-3. 規 格 本 文 と 関 連 文 書 1-4. ウェブアクセシビリティ 基 盤 委 員 会 (

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

■ディレクトリ

著 作 権 このドキュメントに 記 載 されている 情 報 は このドキュメントの 発 行 時 点 におけるマクロソフトの 見 解 を 反 映 したものです マクロソフトは 市 場 の 変 化 に 対 応 する 必 要 があるため このドキュメントの 内 容 に 関 する 責 任 を 問 われないも

Microsoft PowerPoint - webapp.ppt [互換モード]

オンラインテスト

PowerPoint プレゼンテーション

Meet-Me Number/Pattern の 設定

財団法人○○会における最初の評議員の選任方法(案)

1.ユーザーズマニュアル 目 次 1. ユーザーズマニューアル 目 次 2. 管 理 画 面 基 本 情 報 3_1. 施 設 情 報 管 理 メニュー / 情 報 修 正 について パート1 施 設 の 選 択 3_2. 施 設 情 報 管 理 メニュー / 情 報 修 正 について パート2 基

INDEX 2~. はじめに 5~. レポート 作 成 方 法 ~ 担 当 営 業 マン 別 ログイン 回 数 一 覧 ~ 14~. レポート 作 成 方 法 ~ログイン 無 しユーザー 一 覧 ~ 1

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

XML形式の電子報告書作成に当たっての留意事項

< 入 力 にあたっての 注 意 事 項 > 応 募 基 本 情 報 の 申 請 は 代 表 申 請 方 式 の 場 合 は 代 表 申 請 を 行 う 応 募 者 が 連 名 申 請 方 式 の 場 合 は 連 名 申 請 する 応 募 者 のうちのいずれかの1 者 が 研 究 体 を 代 表 し

<4D F736F F F696E74202D B D E90E096BE89EF8E9197BF2E >

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

4 < 完 了 >ボタンをクリック これで 選 択 した 背 景 のプレゼンテーションが 作 成 されます Impress の 画 面 は いくつかのフレームに 分 かれています プレゼンテーションを 作 成 するために 必 要 な 機 能 は 右 側 の 作 業 パネル と 右 上 の プレゼンテ

目 次 第 1 章 GC スクリプトとは?... 4 第 2 章 JavaScript と GC スクリプトの 違 いは? jquery とは? jquery オブジェクトを 作 ってみよう jquery オブジェクトを 既 存 の 要 素 に

補 図 100 Webページ 制 作 の 流 れ 2 HTML 文 書 とブラウザ 3 作 成 するページ Webページの 作 成 に 用 いるHTMLの これから 作 成 するWebページの 内 容 を 示 した 紹 介 と そのしくみを 簡 単 に 解 説 する リンク 機 能 など 基 本 的

<4D F736F F D E A815B F95F28D73838F C D758DC02093C195CA8D A93AD95DB8CAF82CC8F578C B582A2944E937882AA82CD82B682DC82E9914F82CC8A6D C E646F6

スライド 1

活用ガイド-編集しよう

2. 研 究 者 / 評 価 者 情 報 修 正 この 画 面 では 研 究 者 が 自 分 自 身 の 情 報 の 修 正 を 行 います (A) 研 究 者 / 評 価 者 情 報 の 修 正 () 研 究 者 / 評 価 者 情 報 修 正 画 面 を 開 く HOME 画 面 メニューの 研

PowerPoint プレゼンテーション

2 詳 細 なレイアウトを 記 述 できる HTMLよりレイアウト 記 述 力 が 高 い 例 )テキストや 画 像 を 好 きな 位 置 に 配 置 できる HTMLから レイアウトに 関 する 記 述 を 除 去 で きる HTMLがシンプルに 文 法 間 違 いを 減 らせる 情 報 を 正

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (

02_仕様書

<4D F736F F D F93878CA797708F4390B3816A819A95CA8B4C976C8EAE91E682538B4C8DDA97E12E646F6378>

intra-mart Accel Platform — ViewCreator ユーザ操作ガイド   第6版  

1

PowerPoint プレゼンテーション

10th Developer Camp - B5

Microsoft PowerPoint - SCkenkyukai2012tanaka.mshr.ppt [互換モード]

振込データの作成

: : : TSTank 2

請 求 データを 作 成 しましょう 操 作 手 順 1 トップページ 画 面 で [ 口 座 振 替 請 求 ]をクリックして 口 座 振 替 請 求 サービスのメインメニュー 画 面 を 表 示 し [ 請 求 データ 作 成 ]をクリックします 請 求 データは 最 大 10 個 作 成 する

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

COUNTER 準 拠 利 用 統 計 ガイド: 法 人 向 け( 続 き) Usage Reportsに アクセスするには, Classic, Signaling, Translational Medicineの 場 合 YOUR INSTITUTION 4 enter user name ユーザ

intra-mart WebPlatform/AppFramework

参 考 1 無 線 局 情 報 入 力 支 援 ( 基 地 局 と 固 定 局 の 事 項 書 のみに 対 応 ) 無 線 局 情 報 入 力 支 援 機 能 とは 過 去 に 申 請 したデータをダウンロードし 無 線 局 インターネット 申 請 アプリケーション で 利 用 できる 便 利 な

タグの 内 側 で 関 数 を 定 義 してタグ 側 で 実 行 することもできます <TITLE>JavaScript サンプル</TITLE> function write(str) { document.write(str); } write('hello World!'); 上 例 のように

Cubby in Action

●70974_100_AC009160_KAPヘ<3099>ーシス自動車約款(11.10).indb

Microsoft PowerPoint - A07回目②.pptx

HTTP Web Web RFC2616 HTTP/1.1 Web Apache Tomcat (Servlet ) XML Xindice Tomcat 6-2

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選

SPARQL Finder設置方法

目 次 1. 概 要 2.サーバーへの 設 置 3. 設 定 4.ユーザーアクセス 記 録 の 収 集 5. 制 限 解 除 キー 6. 利 用 規 定 7. 更 新 履 歴

電子申告直前研修会(所得税編)

!!!!!

<4D F736F F D208DE3905F8D8291AC8B5A8CA48A948EAE89EF8ED0208BC696B18BA492CA8E64976C8F BD90AC E378C8E89FC92F994C5816A>

プレポスト【問題】

2 データの 表 示 構 造 を 設 定 するビュー データシートビュー: のアイコンをクリックして 表 示 する データを 設 計 されたモードに 従 って 表 示 する のアイコンをクリックして 表 示 する USB メモリーなど 記 憶 媒 体 を 取 り 出 すことについて データベースソフ

RaQuest MindManager

工事記録写真チェックシステム 操作説明書

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

CSI情報管理システム

スライド 1

Microsoft Word - 第3章.doc

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

1. 目 次 1. 目 次 2.はじめに 2-1.メールテンプレート 編 集 機 能 とは? 2-2. 対 象 読 者 3. 用 語 一 覧 4. 利 用 の 流 れ 4-1.メールテンプレート 編 集 の 流 れ 5. 機 能 説 明 利 用 方 法 5-1.テキストメール 編 集 開 封 率 を

PowerPoint Presentation

Transcription:

2007 Autumn S2Wicketの の 紹 介 よういちろう 1

自 己 紹 介 田 中 洋 一 郎 株 式 会 社 エーティーエルシステムズ http://www.atl-systems.co.jp/ Blog: 天 使 やカイザーと 呼 ばれて http://www.eisbahn.jp/yoichiro/ S2Wicketコミッタ 2

[ 宣 伝 ] こみゅすけ http://commusuke.eisbahn.jp/ eisbahn 3

アジェンダ Apache Wicket S2Wicket デモンストレーション 今 後 の 展 望 4

Apache Wicket JavaにおけるWebアプリ 開 発 の 進 化 クラスの 役 割 分 割 設 定 ファイル(XML)による 制 御 Viewのテンプレート 化 ViewのXHTML 化 設 定 ファイルの 省 略 簡 略 化 Ease of Development JSP (Scriptlet) JSP (CustomTag) Struts JSF Java Servlet Wicket Spring MVC Teeda 5

Apache Wicket 特 徴 何 でもかんでもJava POHP コンポーネント&イベント 指 向 JavaScriptを 書 かないAjax シンプル 6

Apache Wicket 何 でもかんでもJava 従 来 肥 大 複 雑 化 した 設 定 ファイル 点 在 化 したロジック Java Java Java Java XML Java Java XML XML XML Property Property JSP JSP JSP JSP JSP Wicket 設 定 とロジックは 全 てJavaに JavaとHTMLは1 対 1 Java Java Java Java Java Java Java Java Java Property Property HTML HTML HTML HTML HTML HTML HTML HTML HTML HTML 7

Apache Wicket Plain Old Html Page <html:form action= /register.do method= post > 所 属 : <c:out value= ${division.name} name} /><br /> 名 前 : <html:text property= name /><br /> 年 齢 : <html:text property= age /><br /> 従 来 <html:submit value= OK /> Webブラウザで 表 示 できない </html:form> <form wicket:id= registerform method= post > 所 属 : <span wicket:id= divisionname ></span> 名 前 : <input type= text wicket:id= name /><br /> 年 齢 : <input:type= text wicket:id= age /><br /> Wicket <input type= submit value= OK" /> wicket:id 属 性 で </form> 要 素 を 特 定 POHP Webブラウザで 表 示 可 能 8

Apache Wicket コンポーネント&イベント 指 向 <a wicket:id= link >ここをクリックしてください </a><br /> <span wicket:id= label ></span> final Label label = new Label( label, new Model()); add(label); Link link = new Link( link ) { イベント 処 理 public void onclick() { label.setmodelobject( イベントが 発 生 しました ); } }; add(link); コンポーネント 指 向 画 面 の 要 素 が 部 品 化 されている コンポーネント 指 向 画 面 の 要 素 が 部 品 化 されている 9

Apache Wicket JavaScriptを 書 かないAjax final Label label = new Label( label, new Model()); label.setoutputmarkupid(true); add(label); イベント 処 理 (Ajax) AjaxLink link = new AjaxLink( link ) { public void onclick(ajaxrequesttarget t) { label.setmodelobject( setmodelobject( イベントが 発 生 しました ); t.addcomponent(label); } }; add(link); <a href="#" "" wicket:id="link2" " onclick="var wcall=wicketajaxget('/s2wicket/hello?wicket:interf ace=:3:link2::ibehaviorlistener&wicket:behaviorid=0 ', function() { }, function() { });return!wcall;" id="link2">ここをクリックしてください </a><br /> Ajax 対 応 コンポーネント JavaScriptを 自 動 生 成 <span wicket:id="label" id="label"></span> 10

Apache Wicket シンプル + 依 存 ライブラリ たった1つのみ HelloApplication FooPage.java FooPage.html BarPage.java BarPage.html HelloSession HogeForm.java HogeForm.html プログラムの 構 造 JavaとHTMLの 対 で 構 成 PageやFormなど コンテナ 単 位 で 再 利 用 可 能 11

Apache Wicket サンプルデモンストレーション 12

Apache Wicket 守 備 範 囲 Viewを 担 当 リクエストの 処 理 と 結 果 のレンダリング 何 らかのDIコンテナと 連 携 が 必 要 View Business Database Logic Access 13

S2Wicket 特 徴 WicketにS2Containerを 統 合 統 合 方 式 を 選 択 可 能 14

S2Wicket S2Containerとの 連 携 FooPage extends WebPage I/F Proxy S2Wicket PageオブジェクトにProxyをセット イベント 処 理 時 にI/Fを 使 うことで S2Container 内 のオブジェクトをコール Impl public void onclick() { S2Wicket } S2Container 15

S2Wicket 前 準 備 public class OrderApplication extends WebApplication { public OrderApplication() { } SeasarComponentInstantiationListener S2Wicketを 有 効 にするためのクラス WebApplication#init() 内 で 登 録 する 各 コンポーネントのインスタンス 生 成 が 行 われる 度 に 呼 び 出 される protected void init() { super.init(); addcomponentinstantiationlistener( t ti ti t new SeasarComponentInjectionListener(this)); } } 16

S2Wicket フィールドインジェクション public class OrderPage extends WebPage { } @SeasarComponent private OrderService orderservice; public OrderPage() { add(new Link(...) { orderservice.order(...); }); } <component name= orderservice class=...orderserviceimpl > l > </component> app.dicon フィールドインジェクション S2Wicketは 対 象 フィールドにオブ ジェクトをセットする セットタイミングは 該 当 クラスのイ ンスタンス 生 成 時 17

S2Wicket @SeasarComponentによるインジェクション 型 によるルックアップ s2container.getcomponent( OrderService.class ) @SeasarComponent private OrderService orderservice; S2Container 名 前 によるルックアップ s2container.getcomponent( order ) @SeasarComponent(name= order ) private OrderService orderservice; S2Container @SeasarComponent AnnotationFieldFilterが 使 用 される 暗 黙 的 に 適 用 されている 18

S2Wicket 命 名 規 約 に 従 ったインジェクション FieldNamePatternFieldFilterの 使 用 FieldNamePatternFieldFilter filter = new FieldNamePatternFieldFilter(); filter.setpackagenamepatternregex("パッケージ 名 の 正 規 表 現 "); filter.setclassnamepatternregex("クラス 名 の 正 規 表 現 "); filter.setfieldnamepatternregex( フィールド 名 の 正 規 表 現 ); 命 名 規 約 FieldFilter 正 規 表 現 により 対 象 フィールドを 特 定 インジェクション 対 象 のフィール ルックアップはフィールド 名 を 使 用 ドを 決 定 するためのAPI WebApplicationクラス 内 で 登 録 自 作 することが 可 能 19

S2Wicket 命 名 規 約 に 従 ったインジェクション FieldNamePatternFieldFilter filter = new FieldNamePatternFieldFilter(); filter.setpackagenamepatternregex( setpackagenamepatternregex(.*.example example ); filter.setclassnamepatternregex(.*page ); filter.setfieldnamepatternregex(.*service ); example で 終 わるパッケージの Page で 終 わる クラスに 定 義 された Service で 終 わるフィールド 名 package order.example; s2container.getcomponent( orderservice ) public class OrderPage extends WebPage { } private OrderService orderservice; S2Container private OderLogic orderlogic; 20

デモンストレーション 基 本 的 な 使 用 例 大 きなデータを 取 り 扱 う 例 Ajaxと 組 み 合 わせた 例 21

今 後 の 展 望 パフォーマンスの 向 上 FooPage extends WebPage I/F Proxy Proxyのキャッシュ 現 在 は 都 度 生 成 している すでに 生 成 したProxyをキャッシュ して 再 利 用 する Impl public void onclick() { S2Wicket } S2Container 22

今 後 の 展 望 コンポーネントファクトリ private TextField input; input = new TextField( input, new PropertyModel(model, name )); add(input); } @WicketComponent コンポーネントの 生 成 &コンテナ への 登 録 を 自 動 化 OGNLで 簡 単 なロジックも 記 述 可 能 @WicketComponent( modelproperty= name ) private TextField input; @WiktC @WicketComponent( t( actions={ @WicketAction(method= onclick, exp= logic() ) } ) private TextField input; 23

最 後 に S2Wicket http://s2wicket.sandbox.seasar.org/ 天 使 やカイザーと 呼 ばれて http://www.eisbahn.jp/yoichiro/ 24