現場で役立つ実践Teeda



Similar documents
目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

■デザイン

JSFからのTeeda

<82C582F182B382A2322E3594C5837D836A B2E786C73>

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

■ディレクトリ

目 次 1 ログインする 1 2 研 修 情 報 を 登 録 する 2 step1 登 録 フォームに 入 力 する 2 step2 プレビューで 入 力 内 容 を 確 認 する 18 step3 下 書 き 保 存 する 20 step4 登 録 する 21 step5 管 理 者 による 承

<4D F736F F D208AEB8CAF89D38F8A B E64726F696494C DEC837D836A B2E646F6378>

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

■ユーザ

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

所 得 税 と 住 民 税 の 税 率 表 所 得 税 と 住 民 税 の 税 率 は 以 下 の 通 りです 退 職 所 得 の 場 合 も この 税 率 表 を 使 います 1. 平 成 19 年 1 月 1 日 以 降 ( 所 法 891) 課 税 所 得 所 得 税 率 控 除 額 ~195

PowerPoint Presentation

PowerPoint プレゼンテーション

Microsoft PowerPoint - c3_op-manual.pdf

(Microsoft PowerPoint -

スライド 1

購買ポータルサイトyOASIS簡易説明書 b

Microsoft Word - ML_ListManager_10j.doc

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

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

データベースS 演習資料

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

WebMail ユーザーズガイド

く) 取 得 した 特 例 対 象 宅 地 が 2 区 分 にまたがるときは 下 記 の 算 式 を 限 度 とする A 200/400 + B 200/330 + C 200 m2 A 選 択 特 例 対 象 宅 地 等 である 特 定 事 業 用 等 宅 地 等 の 面 積 の 合 計 B 選

設定フロー ★印は必須の設定です


変 更 履 歴 版 日 付 区 分 変 更 内 容 変 更 個 所 /11/30 新 規 初 版 作 成 /12/10 修 正 資 料 カバー 画 像 設 定 の 操 作 内 容 を 追 加 資 料 カバー 画 像 設 定 i

■コンテンツ

スライド 1

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

目 次 画 面 遷 移 図 1.ログイン 画 面 2. 画 面 構 成 3.メニュー 4.タスク 一 覧 4-1.タスク: 新 規 4-2.タスク: 閲 覧 4-3.タスク: 更 新 5.タスク 検 索 6. 通 知 メール 6-1. 通 知 メール: 新 規 / 修 正 7. 連 絡 事 項 7-

WEB版「新・相続対策マスター」(ご利用の手引き)

PowerPoint プレゼンテーション

SPARQL Finder設置方法

はじめに ~アイコン 説 明 1.TOP 画 面 2.カメラTOP 切 替 会 社 選 択 画 面 へ 遷 移 + カメラアプリの 新 規 フォルダーを 作 成 編 集 カメラアプリのフォルダーを 編 集 更 新 設 定 の 変 更 が 反 映 されない 場 合 更 新 をしてください メニュー カ

研究者情報データベース

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

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

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

PowerPoint プレゼンテーション

大見出し

1. 表 から 値 を 抽 出 する 説 明 1.1. 表 から 値 を 抽 出 するための 関 数 について 説 明 します LOOKUP VLOOKUP HLOOKUP 関 数 は 検 索 値 に 対 応 する 値 を 検 索 値 を 含 む 一 覧 表 から 抽 出 し てくれる 関 数 です

この 章 では 電 子 入 札 システムをご 利 用 いただくための 事 前 準 備 について 説 明 します 事 前 準 備 と して ID 初 期 パスワードの 確 認 初 期 パスワード 初 期 見 積 用 暗 証 番 号 の 変 更 IC カード 登 録 またはICカード 更 新 を 行 っ

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

MovableType 更新作業マニュアル

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

PowerPoint プレゼンテーション

Microsoft Word - 第3章.doc

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

itutor (Windows Vista, 8, 8, 8.1 ) 製 品 紹 介 や 操 作 順 の PC 操 作 システム 運 順 の マニュアル 動 画 教 育 効 果 の い eラーニング 教 材 時 間 をかけず 簡 単 に 作 成 できる 2

CSI情報管理システム

Basic

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

「給与・年金の方」からの確定申告書作成編

目 次 利 用 に 際 しての 注 意 事 項... ユーザー 登 録... ログイン... 課 題 申 請... 5 装 置 予 約... 6 ライセンス 取 得 方 法... 7 利 用 料 金 の 確 認 ( 準 備 中 ) 外 部 発 表 登 録 の 方 法... 5 < 附

名 刺 Scan とは 名 刺 Scan 情 報 を 顧 客 パーソン 情 報 として 登 録 する 名 刺 Scan とは 複 合 機 やスマートフォンなどでスキャンした 名 刺 データを 弊 社 指 定 の 名 刺 管 理 ソフトを 利 用 して 文 字 認 識

目 次 1. 化 学 研 究 所 研 究 者 データベースについて 研 究 者 情 報 データベース 登 録 システムログイン 画 面 メニュー 画 面 パスワードの 変 更 公 開 時 の 表 示 / 非 表 示 の 設 定.

マーケティングプラットフォームユーザーマニュアル その 他 の 機 能 設 定 方 法 結 合 項 目 を 利 用 してCSVダウンロードする CSVダウンロードの 設 定 を 下 記 のようにして 頂 くことで アンケートのセル 内 改 行 の 自 働 変 換 を 抑 え 郵 便 番 号 ( 00

年齢別人数計算ツールマニュアル

はじめに 平 成 16 年 1 月 に e-tax が 運 用 を 開 始 し その 翌 年 の 平 成 17 年 1 月 に eltax は 運 用 を 開 始 した e-tax の 利 用 率 が 年 々 増 加 する 中 eltaxにおいても 参 加 する 地 方 公 共 団 体 の 数 が

<4D F736F F D F B B838082F090DD927582B782E995FB96405F E646F6378>

<4D F736F F D20819A837A815B B83578DEC90AC837D836A B2E646F6378>

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

ez_meishi.ppt

第1章 情報処理センターの利用

7.4.2 お 知 らせ 利 用 者 機 能 利 用 者 TOP 画 面 バックナンバータブ を バックナンバー 検 索 画 面 お 知 らせタブを お 知 らせタブを 検 索 ボタンを バックナンバータブ を バックナンバー 検 索 結 果 画 面 お 知 らせ 利 用 者 機 能 (

VersionUP4.3.1

Microsoft Word - Active.doc

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ

Microsoft Word - 参考資料:SCC_IPsec_win8__リモート設定手順書_

スライド 1

Taro-1-14A記載例.jtd

[1]メッセージ

まずは まずは 早 割 電 報 トップページ へアクセス 会 員 ページへログイン ID( 半 角 英 数 字 ) パスワード( 半 角 英 数 字 )を 入 力 後 をクリックしてログイン 自 動 ログアウトについて ログイン 後 操 作

Purl.jp 管理・運用方針

Meet-Me Number/Pattern の 設定

-.HPOP について HPOP(ホームページオプション )とは お 客 様 のHPとプロ エージェント を 連 動 させるオプションサービ スのことです 以 下 の2 種 類 を 初 期 費 用 円 / 月 額 5000 円 でそれぞれ 提 供 しています JOB 自 動 公 開 機

5-2 一 般 ユーザー 用 :メール 2 送 信 者 のリンクをクリックすると 受 信 メールの 内 容 を 見 ることができます 受 信 メール 内 容 画 面 項 目 送 信 者 宛 先 CC 本 文 (テキスト) 本 文 (HTML) メールアドレスのリンクをクリックするとアドレス 帳 へ

目 次 機 能 概 要 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する

オートビズにPayPalを対応させる方法

PowerPoint プレゼンテーション

決 算 時 の 流 れ-1 1 年 間 の 仕 訳 入 力 が 終 了 したら 以 下 の 手 順 で 決 算 書 を 作 成 します Step1 精 算 表 を 印 刷 する 1.[F2 入 力 ]タブより 合 計 表 を 選 択 し 月 度 の 指 定 で 期 首 ~12ヶ 月 目 を 指 定

目 次 目 次 1 ログイン ログアウト ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

SILAND.JP テンプレート集

目 次 1.コンテンツの 利 用 目 的 コンテンツの 特 徴 コンテンツの 主 な 機 能 コンテンツの 動 作 環 境 コンテンツの 画 面 構 成 章 節 の 付 番 体 系 コンテンツのファイル 構 成..

G-Web操作マニュアル

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

はじめに この 手 引 きは 自 転 車 等 機 械 工 業 振 興 事 業 に 関 する 補 助 事 業 の 選 定 の 基 準 及 び 補 助 の 方 法 に 関 する 規 程 競 輪 公 益 資 金 による 体 育 事 業 その 他 の 公 益 の 増 進 を 目 的 とする 事 業 の 補

5-2.操作説明書(支店連携)_xlsx

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

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます また 各 種 手 続 きにおいて 申 込 みを 完 了 せずに 保 存 状 態 にした 手 続 きを この 一 覧 から 再 開 すること

Microsoft Word - PubMed検索マニュアル10_改訂 _.doc

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

オプション ボタンまたはチェック ボックスを 持 つリスト ボックス (ListBox) コントロールを 作 成 する 1. プロパティ ウィンドウで ListStyle プロパティを 選 択 します 2. 右 側 の 下 向 き 矢 印 をクリックして 選 択 可 能 なスタイルの 一 覧 を 表

おすすめページ

2.2 文 がセルの 行 の 高 さの 限 界 値 を 超 えた 場 合 の 処 理 本 アドインは 文 がセルの 行 の 高 さの 限 界 値 (409.5 ポイント)を 超 えている 場 合 に 行 を 追 加 し 自 動 調 整 する 機 能 を 備 えています 文 がセルの 行 の 高 さの

グループのファイル 共 有 の 設 定 以 下 の 手 順 に 沿 って 設 定 します 1. ぐるコラ のグループ 番 号 の 確 認 使 用 したいグループのグループ 番 号 を 確 認 します まずログイン 後 ホーム 画 面 からグループに 繋 がります ファイル 共 有 したい グループを

Transcription:

2007 Spring 現 場 で 役 立 つ 実 践 Teeda 2007.5.27 エスエムジー 株 式 会 社 テクニカルコンサルタント 鈴 木 貴 典 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1

名 前 : 鈴 木 貴 典 Blog:http://d.hatena.ne.jp/szk-takanori/ はじめまして 所 属 :エスエムジー 株 式 会 社 (http://www.smg.co.jp) コミッタ:S2Axis/S2Axis2 メール :takanorig@gmail.com 主 な 仕 事 : フレームワーク 開 発 Web+DBアプリ 開 発 プロセス 改 善 (SEPG) 2

現 場 で 役 立 つ 実 践 Teeda このセッションのゴール Teedaをより 便 利 に 使 いこな せるようになってもらいたい! このセッションの 位 置 づけ Teedaプロジェクトリーダの 大 谷 さんによる 今 から 役 立 つ Teeda 入 門 に 続 くものです 3

Agenda 1. Teedaの 特 徴 2. アプリケーション アーキテクチャを 決 める 3. HTMLモックアップ 作 成 のコツ 4. スコープ 管 理 を 使 いこなす 5. かゆいところに 手 が 届 く 便 利 機 能 6. Teedaにおけるテスト 実 践 4

Teedaの 特 徴 5

UI(=ページ)を 中 心 に 開 発 するスタイル Teedaの の 特 徴 ページ 開 発 駆 動 ユーザにとって 最 も 分 かりやすいものを 中 心 に 据 える Teedaは この 開 発 スタイルによって 最 適 化 されている UIスケッチ xxx ユーザレビュー xxx OK キャンセル HTML テンプレート (View) DB Javaクラス データベース モデリング UIモック 自 動 生 成 (Chura) 6

アプリケーション アーキテクチャを 決 める 7

アプリケーション アーキテクチャを 決 める レイヤーとコンポーネントの 構 成 を 考 える Goyaベース DxoやDoltengとの 親 和 性 の 向 上 を 目 指 す Teedaでは 画 面 と1:1になるようにPageを 作 成 する employeelist.html EmployeeListPage.java ただし Page( 画 面 の 項 目 と 関 連 )とAction( 画 面 のボ タンと 関 連 )を 分 割 することも 可 能 employeelist.html EmployeeListPage.java EmployeeListAction.java 8

アプリケーション アーキテクチャを 決 める Full Pattern 大 規 模 アプリケーション 向 け 画 面 とロジックを 分 担 して 共 同 開 発 したり フロー 制 御 や 他 システム 連 携 が 多 かったりするシステムに 向 く Actionを 無 くして Pageだけにする 構 成 でもOK! 9

アプリケーション アーキテクチャを 決 める Middle Pattern 中 規 模 アプリケーション 向 け 画 面 ロジックとドメインロジックを2つのレイヤーに 集 約 させたパターンであり 大 抵 のシステムに 対 応 できる 10

アプリケーション アーキテクチャを 決 める Lightweight Pattern 小 規 模 アプリケーション 向 け 画 面 とDBテーブルが1 対 1で ロジックはほぼない と いうシステムに 向 く 11

HTMLモックアップ 作 成 のコツ 12

HTMLモックアップ 作 成 のコツ IDの の 決 め 方 全 フィールドに 対 して ユニークになるように 付 ける :name :username HTMLのIDと DBのフィールドを ルを 指 定 しなくても 自 動 的 にマッピングされる 一 致 させる (DBのカラム 名 もユニークにする( ID/VersionNo 以 外 )) 社 員 番 号 社 員 名 所 属 登 録 id= empno id= empname id= deptnoitems (value) : deptno Dxo リスト 項 目 のIDは valueとなるidに 合 わせる Dxoでの 変 換 時 に 変 換 ルー EMPLOYEE EMP_NO EMP_NAME DEPT_ID DEPT DEPT_NO DEPT_NAME 13

HTMLモックアップ 作 成 のコツ ボタンとリンクの 使 い 分 け ボタン と リンク では 値 の 引 き 継 がれ 方 が 異 なる ボタン(doXxx, goxxx, jumpxxx) 全 プロパティが 次 画 面 に 引 き 継 がれる リンク(goXxx) クエリストリングで 指 定 したプロパティのみ 次 画 面 に 引 き 継 がれる でも リンクで 遷 移 して かつ 値 も 引 き 継 ぎたい 場 合 も ある 例 タブ(に 見 せかけたリンク)を 利 用 した 自 画 面 遷 移 画 面 設 計 の 段 階 で どちらを 利 用 するのかを 考 慮! Step1 Step2 Step3 回 避 策 非 表 示 のボタンを 用 意 しておき JavaScriptを 利 用 して リンクが 押 下 された 際 にボタンが 押 下 されるようにする <a id= xxx href= #?id=1 onclick= navigate(this) > 14

HTMLモックアップ 作 成 のコツ モックタグの 活 用 モックだけで 表 示 させ 動 作 時 には 表 示 されないタグを 記 述 することが 可 能 <div id= mockxxx > ( idを mock から 始 める) こんなときに 便 利 HTML 自 体 に 仕 様 やメモを 書 いておく <div id= mockcomment > XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX </div> JavaScriptをモックのときだけ 動 作 させたい <script id="mockscript" type="text/javascript"> <! alert( Hello ); // --> </script> 15

スコープ 管 理 を 使 いこなす 16

HTTP Request HTTP Request/Sessionの 限 界 Request スコープ 管 理 を 使 いこなす Request/Sessionの の 限 界 ウィザードなどの 複 数 リクエストにまたがる 処 理 で 利 用 するには ライフサイク ルが 短 すぎる 帯 に 短 し 値 を 引 き 継 ぐために hiddenを 多 用 する 必 要 がある パラメータ 改 ざんの 危 険 性 も 出 てくる Session ウィザードなどの 複 数 リクエストにまたがる 処 理 で 利 用 するには ライフサイク ルが 長 すぎる タスキに 長 し Sessionへの 格 納 (setattribute) および Sessionからの 削 除 ( removeattribute)を 開 発 者 が 管 理 する 必 要 がある バグが 増 える マルチウィンドウ Request/Sessionだけでは 不 便! 17

スコープ 管 理 を 使 いこなす Teedaにおけるスコープ 管 理 (1/4( 1/4) Teedaに 画 面 遷 移 時 の 値 引 き 継 ぎ 原 則 ユーザ 名 登 録 鈴 木 貴 典 遷 移 ユーザ 名 実 行 鈴 木 貴 典 戻 る /view/employee/input.html /view/employee/confirm.html <input type= text id= username /> <span id= username /> /web/employee/inputpage.java public void InputPage { private String username; } /web/employee/confirmpage.java public void ConfirmPage { private String username; } 遷 移 の 前 後 で 同 じプロパティがあれば 次 の 画 面 で 値 がインジェクションされる ( 同 一 サブアプリケーション 内 でのボタンでの 遷 移 の 場 合 ) 18

Teeda 独 自 のスコープ スコープ 管 理 を 使 いこなす Teedaにおけるスコープ 管 理 (2/4( 2/4) スコープ 名 SubApplicationScope (デフォルト) RedirectScope PageScope ライフサイクル 同 一 のサブアプリケーション 内 ならば プロパティを 引 き 継 ぐ 異 なるサブアプリケーションに 遷 移 した 場 合 は プロパ ティ 値 は 削 除 される 次 の 画 面 にリダイレクト 後 プロパティ 値 は 削 除 される つまり 次 の 画 面 までしか 値 を 引 き 継 がない 次 の 画 面 に 値 を 引 き 継 がない public void EmployeePage { プロパティに アノテーションを 指 定 する } @PageScope private String username; 19

Teeda 独 自 のスコープ スコープ 管 理 を 使 いこなす Teedaにおけるスコープ 管 理 (3/4( 3/4) <subapp1> 一 覧 画 面 <subapp1> 入 力 画 面 <subapp1> 確 認 画 面 <subapp1> 完 了 画 面 PageScope RedirectScope SubApplicationScope <subapp2> 一 覧 画 面 サブアプリケーションが 異 なるので 値 は 引 き 継 が れない 20

Session/Requestも 使 えます Pageクラスにインジェクションする public void EmployeePage { private HtttpSession session; スコープ 管 理 を 使 いこなす Teedaにおけるスコープ 管 理 (4/4( 4/4) } public void setsession(httpsession session) { this.session = session; } Dtoのクラスなどに アノテーションを 指 定 する @Component(instance = InstanceType.SESSION) public class UserDto implements Serializable { } 21

スコープ 管 理 を 使 いこなす TakeOver TakeOverアノテーションを 利 用 して 引 き 継 ぐプロパテ ィを 個 別 に 指 定 することもできる タイプ 説 明 アノテーション NEVER 次 画 面 に 何 も 引 き 継 がない @TakeOver( type=takeovertype.never) INCLUDE EXCLUDE 次 画 面 に name value のみを 引 き 継 ぐ 次 画 面 に name value 以 外 のプ ロパティを 引 き 継 ぐ @TakeOver( type=takeovertype.include, properties= name, value") @TakeOver( type=takeovertype.exclude, properties= name, value") メソッドにアノテーションを 指 定 する @TakeOver(type = TakeOverType.NEVER) public String doexecute() { return } 22

かゆいところに 手 が 届 く 便 利 機 能 23

Teedaでは 以 下 の 機 能 が 便 利 拡 張 されたバリデータ ボタン 指 定 エラー 発 生 時 のスタイルシート 自 動 設 定 簡 単 なメッセージ 表 示 個 別 プロパティ/ 画 面 全 体 に 対 するメッセージ 表 示 Utilの 活 用 かゆいところに 手 が 届 く 便 利 機 能 こんな 機 能 があります ラベルの 引 き 継 ぎ プルダウンやラジオボタンで valueだけでなく labelの 引 き 継 ぎがで きる List<Map>の 利 用 繰 り 返 しや 一 覧 の 項 目 で わざわざDtoを 作 成 しなくても 済 む 24

JSFのバリデータを 超 えています かゆいところに 手 が 届 く 便 利 機 能 拡 張 されたバリデータ ボタン 指 定 1 画 面 内 に 複 数 のボタンがある 場 合 にバリデーションが 動 作 するボタ ンを 指 定 できる public void EmployeePage { @Required(target= doexecute ) private String empname; } エラー 発 生 時 のスタイルシート 自 動 設 定 onteedaerror というスタイルが 出 力 される target 属 性 に ボタンのidを 指 定 する 指 定 したボタンが 押 下 され たときだけ バリデーション が 実 行 される <input type="text id= empname" name= form:empname value= class= onteedaerror /> バリデーションエラーとなっ た 項 目 に 色 を 付 ける 等 分 かりやすい 表 示 が 可 能 になる 25

これさえ 知 っていれば 問 題 なし HTMLの 指 定 かゆいところに 手 が 届 く 便 利 機 能 簡 単 なメッセージ 表 示 id 説 明 HTMLでの 指 定 allmessages 全 てのメッセージ <span id= allmessages /> messages 項 目 にヒモ 付 かないメッセージ <span id= messages /> id+message 指 定 されたidにヒモ 付 くメッセージ <span id= empnamemessage /> レベルに 合 わせたスタイルの 切 り 替 え <span id="allmessages" te:fatalclass= fatalmessage te:errorclass="errormessage te:warnclass="warnmessage te:infoclass="infomessage" </span> サーバ 側 の 指 定 FacesMessageUtil.addErrorMessage(String messageid) FacesMessageUtil.addErrorMessage(String messageid, Object[] args) メッセージ 表 示 は これだけで 可 能 になる 26

N:1の 関 連 でよく 使 います かゆいところに 手 が 届 く 便 利 機 能 ラベルの 引 き 継 ぎ プルダウンやラジオボタンなどで 値 (value)だけでなく ラベ ル(label)を 引 き 継 ぐことができる このようなパターンの 画 面 で 効 いてくる 入 力 画 面 ではプルダウンで 選 択 確 認 画 面 では 選 択 されたlabelを 表 示 DBには valueで 登 録 <input type="hidden" id= fooitemssave" /> <select id= fooitems"> <option value= 0 >ラベル0</option> </select> xxxlabelというプロパティ があれば 自 動 的 にラベル 値 がインジェクションされる 注 意 ItemsSave/ ItemsSessionSaveを 利 用 する 必 要 がある public void SelectPage { private List fooitems; private Integer foo; private String foolabel; } 27

かゆいところに 手 が 届 く 便 利 機 能 List<Map>の の 利 用 実 装 量 が 減 らせます 繰 り 返 しや 一 覧 (Grid/ForEach/SelectOneRadioなど)の プロパティ(xxxItems)では Dtoのリスト/ 配 列 だけでなく Mapのリストも 利 用 できる 更 新 処 理 がなければ Mapのリストで 十 分 <select id= fooitems"> <option value= 0 > 選 択 </option> </select> public void SelectPage { private List<Map<String, String>> fooitems; } Dxoとの 連 携 で 簡 単 に 実 現 可 能 ConversionRuleで プロ パティの 関 連 付 けを 行 う @ConversionRule( value : id, label : empname") List<Map<String, String>> convert(entity[] entities); 28

Teedaにおけるテスト 実 践 29

Teedaでは テストのことも 考 えられています RequestDumpFilter HTTPリクエストの 情 報 をログに 出 力 するServletFilter TeedaTestCase JUnitの 拡 張 テストケース Teedaにおけるテスト 実 践 テストに 関 する 機 能 HttpServletResponseやFacesContextなどのモックが 標 準 で 用 意 されている TeedaWebTester TomcatなどのAPサーバを 起 動 した 状 態 でテストする 30

RequestDumpFilter Teedaにおけるテスト 実 践 RequestDumpFilter デバッグやテスト 実 施 時 のエビデンスとして 役 に 立 つ <filter> <filter-name>requestdumpfilter</filter-name> <filter-class>org.seasar.teeda.core.filter.requestdumpfilter</filter-class> <init-param> <param-name>beforerequestparameter</param-name> <param-value>true</param-value> </init-param> </filter> 入 力 値 や 押 下 したボタンの IDなどが 分 かる ** before *************: /view/add/add.html Request class=org.seasar.extension.httpsession. RequestedSessionId=c0a8811c1aaf64da9e22e349fb91 REQUEST_URI=/teeda-html-example/view/add/add.html, SERVLET_PATH=/view/add/add.html [param]_id24:addform/view/add/add.html=_id24:addform [param]_id24:addform:arg1=1 [param]_id24:addform:arg2=2 [param]_id24:addform:docalculate=calculate 31

TeedaTestCase Teedaにおけるテスト 実 践 TeedaTestCase HttpServletResponse/FacesContextなどのモックが 利 用 できるので ServletやJSFのAPIが 絡 むテストも 可 能 public class DownloadActionTest extends TeedaTestCase { public void testresponsecomplete() throws Exception { DownloadAction action = new DownloadAction(); action.setresponse(getresponse()); assertequals(false, getfacescontext().getresponsecomplete()); action.download(); } assertequals(true, getfacescontext().getresponsecomplete()); } 32

TeedaWebTester Teedaにおけるテスト 実 践 TeedaWebTester 画 面 からの 操 作 を 自 動 化 するイメージで 使 う 実 行 する 前 に 対 象 のアプリケーションを 起 動 しておく public class AddWebTest extends TestCase { public void testadd() throws Exception { final TeedaWebTester tester = new TeedaWebTester(); tester.beginat( http://localhost:8080/teeda-html-example, "view/add/add.html"); tester.settextbyid("arg1", 5"); tester.settextbyid("arg2", 27"); tester.submitbyid("docalculate"); } tester.asserttextequalsbyid( result, 32"); } 33

ふりかえり 1. Teedaの 特 徴 ページ 駆 動 開 発 2. アプリケーション アーキテクチャ を 決 める Goyaベースのアーキテク チャ Full Pattern Middle Pattern Lightweight Pattern 3. HTMLモックアップ 作 成 のコツ IDの 付 け 方 ボタンとリンクの 使 い 分 け モックタグの 活 用 4. スコープ 管 理 を 使 いこなす SubApplicationScope RedirectScope PageScope TakeOverアノテーション 5. かゆいところに 手 が 届 く 便 利 機 能 拡 張 されたバリデータ 簡 単 なメッセージ 表 示 ラベルの 引 き 継 ぎ List<Map>の 利 用 6. Teedaにおけるテスト 実 践 RequestDumpFilter TeedaTestCase TeedaWebTester 34

ご 静 聴 ありがとうございました 35