S2Struts入門



Similar documents
経験発表

2. 会 計 規 程 の 業 務 (1) 規 程 と 実 際 の 業 務 の 調 査 規 程 や 運 用 方 針 に 規 定 されている 業 務 ( 帳 票 )が 実 際 に 行 われているか( 作 成 されている か)どうかについて 調 べてみた 以 下 の 表 は 規 程 の 条 項 とそこに

Microsoft Word - 奨学金相談Q&A.rtf

スライド 1

った 場 合 など 監 事 の 任 務 懈 怠 の 場 合 は その 程 度 に 応 じて 業 績 勘 案 率 を 減 算 する (8) 役 員 の 法 人 に 対 する 特 段 の 貢 献 が 認 められる 場 合 は その 程 度 に 応 じて 業 績 勘 案 率 を 加 算 することができる

適合証明業務手数料規程

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

6-1 第 6 章 ストック オプション 会 計 設 例 1 基 本 的 処 理 Check! 1. 費 用 の 計 上 ( 1 年 度 ) 2. 費 用 の 計 上 ( 2 年 度 )- 権 利 不 確 定 による 失 効 見 積 数 の 変 動 - 3. 費 用 の 計 上 ( 3 年 度 )-

(1)1オールゼロ 記 録 ケース 厚 生 年 金 期 間 A B 及 びCに 係 る 旧 厚 生 年 金 保 険 法 の 老 齢 年 金 ( 以 下 旧 厚 老 という )の 受 給 者 に 時 効 特 例 法 施 行 後 厚 生 年 金 期 間 Dが 判 明 した Bは 事 業 所 記 号 が

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

PowerPoint プレゼンテーション

公 的 年 金 制 度 について 制 度 の 持 続 可 能 性 を 高 め 将 来 の 世 代 の 給 付 水 準 の 確 保 等 を 図 るため 持 続 可 能 な 社 会 保 障 制 度 の 確 立 を 図 るための 改 革 の 推 進 に 関 する 法 律 に 基 づく 社 会 経 済 情

平成19年9月改定

Taro-契約条項(全部)

PowerPoint プレゼンテーション

1

事務連絡

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地

参加表明書・企画提案書様式

いう )は 警 告 をしたときは 速 やかに その 内 容 及 び 日 時 を 当 該 警 告 を 求 める 旨 の 申 出 をした 者 に 通 知 しなければならないこととされ また 警 告 をし なかったときは 速 やかに その 旨 及 び 理 由 を 当 該 警 告 を 求 める 旨 の 申

する 婦 人 相 談 所 その 他 適 切 な 施 設 による 支 援 の 明 記 禁 止 命 令 等 をすることが できる 公 安 委 員 会 等 の 拡 大 等 の 措 置 が 講 じられたものである 第 2 改 正 法 の 概 要 1 電 子 メールを 送 信 する 行 為 の 規 制 ( 法

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

1. 決 算 の 概 要 法 人 全 体 として 2,459 億 円 の 当 期 総 利 益 を 計 上 し 末 をもって 繰 越 欠 損 金 を 解 消 しています ( : 当 期 総 利 益 2,092 億 円 ) 中 期 計 画 における 収 支 改 善 項 目 に 関 して ( : 繰 越

スライド 1

著 作 権 について このレポートは 著 作 権 法 で 保 護 されている 著 作 物 です このレポートの 著 作 権 はカラバオに 属 します 著 作 権 者 の 許 可 なく このレポートの 全 部 又 は 一 部 をいかなる 手 段 においても 複 製 転 載 流 用 転 売 等 すること

Taro13-01_表紙目次.jtd

Office 10 パッケージ版「リンク集」

1. 前 払 式 支 払 手 段 サーバ 型 の 前 払 式 支 払 手 段 に 関 する 利 用 者 保 護 等 発 行 者 があらかじめ 利 用 者 から 資 金 を 受 け 取 り 財 サービスを 受 ける 際 の 支 払 手 段 として 前 払 式 支 払 手 段 が 発 行 される 場 合

Taro-2220(修正).jtd

小 売 電 気 の 登 録 数 の 推 移 昨 年 8 月 の 前 登 録 申 請 の 受 付 開 始 以 降 小 売 電 気 の 登 録 申 請 は 着 実 に 増 加 しており これまでに310 件 を 登 録 (6 月 30 日 時 点 ) 本 年 4 月 の 全 面 自 由 化 以 降 申

答申第585号

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

別 紙 第 号 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 議 案 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 を 次 のように 定 める 平 成 26 年 2 月 日 提 出 高 知 県 知 事 尾

スライド 1


1

<4D F736F F D204D46834E A6D92E8905C8D905F93B193FC819593FA8E9F95D C5292E646F63>

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

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

国 税 クレジットカード 納 付 の 創 設 国 税 のクレジットカード 納 付 については マイナンバー 制 度 の 活 用 による 年 金 保 険 料 税 に 係 る 利 便 性 向 上 に 関 するアクションプログラム( 報 告 書 ) においてその 導 入 の 方 向 性 が 示 されている

23信託の会計処理に関する実務上の取扱い

<4D F736F F D F93878CA797708F4390B3816A819A95CA8B4C976C8EAE91E682538B4C8DDA97E12E646F6378>

する ( 評 定 の 時 期 ) 第 条 成 績 評 定 の 時 期 は 第 3 次 評 定 者 にあっては 完 成 検 査 及 び 部 分 引 渡 しに 伴 う 検 査 の 時 とし 第 次 評 定 者 及 び 第 次 評 定 者 にあっては 工 事 の 完 成 の 時 とする ( 成 績 評 定

PowerPoint プレゼンテーション

は 共 有 名 義 )で 所 有 権 保 存 登 記 又 は 所 有 権 移 転 登 記 を された も の で あ る こと (3) 居 室 便 所 台 所 及 び 風 呂 を 備 え 居 住 の ために 使 用 す る 部 分 の 延 べ 床 面 積 が 5 0 平 方 メ ー ト ル 以 上

特 別 徴 収 による 納 税 の 仕 組 み 従 業 員 事 業 所 市 町 村 3 特 別 徴 収 税 額 の 通 知 ( 従 業 員 用 ) 1 給 与 支 払 報 告 書 の 提 出 (1 月 末 日 まで) 2 税 額 の 計 算 4 給 与 支 払 いの 際 に 税 額 を 徴 収 3

Microsoft Word - 佐野市生活排水処理構想(案).doc

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

全設健発第     号

Microsoft Word - 第3章.doc

贈与税 faq

<4D F736F F D20837D A815B92CA8BCE8AC7979D8B4B92F E1816A312E646F63>

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

平成22年12月27日

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

単回帰モデル

CSI情報管理システム

03_主要処理画面.xlsx

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等

(5) 給 与 改 定 の 状 況 事 委 員 会 の 設 置 なし 1 月 例 給 事 委 員 会 の 勧 告 民 間 給 与 公 務 員 給 与 較 差 勧 告 A B A-B ( 改 定 率 ) 給 与 改 定 率 ( 参 考 ) 国 の 改 定 率 24 年 度 円 円 円 円 ( ) 改

Taro-1-14A記載例.jtd

1 変更の許可等(都市計画法第35条の2)

学校教育法等の一部を改正する法律の施行に伴う文部科学省関係省令の整備に関する省令等について(通知)

平成23年2月吉日

富士山チェックリスト

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

1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた 以 下 の 税 関 手 続 き( 以 下 輸 出 申 告 等

施 設 維 持 管 理 機 能 一 覧 1. 中 長 期 保 全 計 画 作 成 2. 中 長 期 保 全 計 画 集 計 3. 点 検 記 録 情 報 管 理 4. 修 繕 履 歴 情 報 管 理 2

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

スライド 1

平成25年度 独立行政法人日本学生支援機構の役職員の報酬・給与等について

Microsoft Word - 311Tools_END

( 注 変 更 申 請 で 対 象 となる 項 目 と 郵 送 書 類 についての 詳 細 は 下 表 を 参 照 してください 東 京 電 子 自 治 体 共 同 運 営 電 子 調 達 サービス 6. 変 更 申 請 物 品 買 入 れ 等 変 更 申 請 項 目 及 び 郵 送 書 類 等 一

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

01_07_01 データのインポート_エクスポート_1

Microsoft Word - 2 答申概要.doc

就 業 規 則 ( 福 利 厚 生 ) 第 章 福 利 厚 生 ( 死 亡 弔 慰 金 等 ) 第 条 法 人 が 群 馬 県 社 会 福 祉 協 議 会 民 間 社 会 福 祉 施 設 等 職 員 共 済 規 程 に 基 づき 群 馬 県 社 会 福 祉 協 議 会 との 間 において 締 結 す

スライド 1

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

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

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

の 購 入 費 又 は 賃 借 料 (2) 専 用 ポール 等 機 器 の 設 置 工 事 費 (3) ケーブル 設 置 工 事 費 (4) 防 犯 カメラの 設 置 を 示 す 看 板 等 の 設 置 費 (5) その 他 設 置 に 必 要 な 経 費 ( 補 助 金 の 額 ) 第 6 条 補

<4D F736F F F696E74202D D382E982B382C68AF1958D8BE090A C98AD682B782E B83678C8B89CA81698CF6955C A2E >

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

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

●不正アクセス行為の禁止等に関する法律の一部を改正する法律案

( 運 用 制 限 ) 第 5 条 労 働 基 準 局 は 本 システムの 維 持 補 修 の 必 要 があるとき 天 災 地 変 その 他 の 事 由 によりシステムに 障 害 又 は 遅 延 の 生 じたとき その 他 理 由 の 如 何 を 問 わず その 裁 量 により システム 利 用 者

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

通 知 カード と 個 人 番 号 カード の 違 い 2 通 知 カード ( 紙 )/H27.10 個 人 番 号 カード (ICカード)/H28.1 様 式 (おもて) (うら) 作 成 交 付 主 な 記 載 事 項 全 国 ( 外 国 人 含 む)に 郵 送 で 配 布 希 望 者 に 交

<82C582F182B382A2322E3594C5837D836A B2E786C73>

弁護士報酬規定(抜粋)

Taro-29職員退職手当支給規程

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

(4) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 国 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている.

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

<4D F736F F F696E74202D20838C837C815B B F A2E B93C782DD8EE682E890EA97705D>

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

WEBメールシステム 操作手順書

経 理 上 くん db(version 8.001)の 変 更 点 概 要 Ⅰ. 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 1 特 定 課 税 仕 入 特 定 課 税 仕 入 返 還 区 分 を 追 加 しました Ⅱ.その 他 の 改 良 修 正 詳 細 は 後 述 を 参 照

Transcription:

S2Struts 入 門 2006.11.12 S2Struts コミッタ 永 島 克 彦 1

自 己 紹 介 名 前 : 永 島 克 彦 ブログ:http://d.hatena.ne.jp/kanag/ 所 属 :( 株 ) 広 島 情 報 シンフォニー メール: katsuhiko.nagashima@gmail.com 2

アジェンダ S2Struts 概 要 S2とStrutsの 連 動 無 設 定 ~ 省 設 定 POJO 化 拡 張 TagLib HOT deploy まとめ 3

S2Struts 概 要 S2Strutsとは Strutsのノウハウをそのまま 活 用 してS2と 簡 単 に 連 動 さらに 無 設 定 ~ 省 設 定 記 述 量 を 減 らす POJO 化 テストしやすく 拡 張 TagLib より 便 利 に HOT deploy テンポのよい 開 発 4

S2Struts 概 要 必 要 な 機 能 のみ 利 用 できる 無 設 定 省 設 定 拡 張 TagLib POJO 化 HOT deploy S2とStrutsの 連 動 5

S2とStruts Strutsの の 連 動 S2とStruts 連 動 の 特 徴 ActionクラスをS2Containerで 管 理 DI x AOP 既 存 Actionクラスに 変 更 なく 適 用 可 能 ただし 設 定 ファイルの 変 更 / 追 加 は 必 要 web.xmlの 変 更 struts-config.xmlの 変 更 Actionの 登 録 (diconファイルの 追 加 ) 6

連 動 の 設 定 1 S2ContainerFilter S2StrutsFilterの 追 加 S2ContainerServletの 追 加 ActionServletは 変 更 する 必 要 なし ただし 先 に S2ContainerServletを 初 期 化 すること <servlet> <servlet-name>s2container</servlet-name> <servlet-class>...s2containerservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>action</servlet-name> <servlet-class>...actionservlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> 7

連 動 の 設 定 2 S2RequestProcessorへの 変 更 <controller processorclass="org.apache.struts.action.requestprocessor"/> <controller processorclass="org.seasar.struts.processor.s2requestprocessor"/> 8

Actionの の 登 録 方 法 1 diconファイルの 作 成 1 AutoRegisterを 利 用 してカンタンに 登 録 <component class="...filesystemcomponentautoregister"> : <initmethod name="addclasspattern"> <arg>"example.app.web"</arg> <arg>".*action"</arg> </initmethod> </component> Actionクラスを 格 納 しているパッケージと 自 動 登 録 したいクラスパターンを 指 定 すればOK 9

Actionの の 登 録 方 法 2 diconファイルの 作 成 2 SMART deployでもっとカンタンに 登 録 ただし 推 奨 パッケージ 構 成 に 合 わせる 必 要 がある <component class=...namingconventionimpl"> <initmethod name="addrootpackagename"> <arg>"example.app"</arg> </initmethod> </component> アプリケーションの ルートパッケージを 指 定 するのみでOK 10

Actionでの でのAOP 既 存 のActionクラスに 修 正 なく 適 用 可 能 <component class="...aspectautoregister"> <property name="interceptor">traceinterceptor</property> <property name="pointcut">"execute"</property> <initmethod name="addclasspattern"> <arg>"example.app.web"</arg> <arg>".*action"</arg> </initmethod> </component> トレースログ 出 力 内 容 DEBUG... [...] BEGIN...Action#execute(ActionConfig[...) : DEBUG... [...] END...Action#execute(ActionConfig[...) : ForwardConfig[...] 11

Actionでの でのDI 既 存 のActionクラスを 修 正 する 必 要 あり プロパティの 追 加 ActionクラスはRequest 単 位 で 生 成 するため プロパティ を 持 っても 問 題 なし 開 発 しやすくなる ロジック サービスクラスをMockにできる テストしやすくなる はやめにJSPの 動 作 を 確 認 できる S2DaoなどのS2ファミリーが 使 いやすくなる 12

S2とStruts Strutsの の 連 動 のポイント 開 発 中 又 は 開 発 済 みのアプリケーション AOPのみならActionクラスの 修 正 なく 適 用 可 能 今 すぐに 試 すことができる これから 開 発 のアプリケーション Strutsを 使 って S2DaoなどのS2ファミリーも 使 うなら 利 用 したほうが 楽 になる 13

無 設 定 ~ 省 設 定 無 設 定 ~ 省 設 定 の 特 徴 規 約 に 従 うことで 無 設 定 で 動 作 Actionクラスを 作 るのみでOK 規 約 に 従 えない 場 合 はカスタマイズ 可 能 アノテーションによるカスタマイズ 定 数 アノテーション Tigerアノテーション 従 来 どおりstruts-config.xmlによる 設 定 も 可 能 struts-config.xmlの 内 容 を 優 先 14

無 設 定 ~ 省 設 定 ストレスの 少 ない 開 発 JSPの 作 成 クラスの 作 成 テスト 動 作 確 認 設 定 ファイル の 修 正 15

無 設 定 ~ 省 設 定 の 設 定 struts-config.xmlの 変 更 AutoStrutsConfigRegisterPlugInの 追 加 無 設 定 情 報 となるプロパティも 設 定 <plug-in classname="...validatorplugin"> : </plug-in> <plug-in classname="...autostrutsconfigregisterplugin"> : </plug-in> ValidatorPlugInの 次 に AutoStrutsConfigRegisterPlugInを 追 加 16

無 設 定 規 約 に 従 い 自 動 的 に 設 定 package example.app.form; public class AddFrom extends ValidatorForm { : } package example.app.web; public class AddAction extends Action { public ActionForward execute(...) { : } } <form-bean name= addform type= example.app.form.addform /> : <action path="/add" type="example.app.web.addaction" name="addform" scope="request" validate="true"> <forward name="success" path="/add.jsp" /> </action> 17

form-bean beanの の 規 約 form-bean nameの 規 約 <form-bean name= addform type= example.app.form.addform /> コンポート 名 を 設 定 クラス 名 :AddForm コンポーネント 名 :addform form-bean name:addform 18

actionの の 規 約 1 action pathの 規 約 <action path="/add" type= "example.app.web.addaction" name="addform" scope="request" validate="true"> <forward name="success" path="/add.jsp" /> </action> / + Action を 消 したコンポート 名 を 設 定 クラス 名 :AddAction コンポーネント 名 :addaction action path:/add 19

actionの の 規 約 2 action nameの 規 約 <action path="/add" type= "example.app.web.addaction" name="addform" scope="request" validate="true"> <forward name="success" path="/add.jsp" /> </action> Action を 消 したコンポート 名 + Form or Dto を 設 定 クラス 名 :AddAction コンポーネント 名 :addaction action name:addform 20

actionの の 規 約 3 forwardの 規 約 <action path="/add" type= "example.app.web.addaction" name="addform" scope="request" validate="true"> <forward name="success" path="/add.jsp" /> </action> パッケージとクラス 名 からViewを 検 索 しあった 場 合 は success のforwardとして 設 定 クラス 名 :example.app.web.addaction docroot :/ ViewExtension :jsp の 場 合 の 検 索 順 1. /example/app/web/add.jsp 2. /app/web/add.jsp 3. /web/add.jsp 4. /add.jsp 21

actionの の 規 約 4 その 他 はデフォルト 値 を 割 り 当 てる <action path="/add" type= "example.app.web.addaction" name="addform" scope="request" validate="true"> <forward name="success" path="/add.html" /> </action> scope validate input parameter attribute forward include prefix suffix unknown roles cancellable request true null null null null null null null null null false 22

バリデーション バリデーションの 設 定 もアノテーションでかける クラスとバリデーション 設 定 の 記 述 が 近 く 管 理 しやす い(わかりやすくなる) 独 自 のバリデーションをアノテーションとして 作 成 することもできる public class AddForm extends ValidatorForm { @Required @EmailType public void setvalue(string value) { } } : public class AddForm extends ValidatorForm { public static final String value_validator_0 = "required"; public static final String value_validator_1 = "email"; public void setvalue(string value) { : } } 23

無 設 定 ~ 省 設 定 のポイント 省 設 定 でシンプルに 基 本 的 な 設 定 は 無 設 定 にまかせ 一 部 の 特 殊 なものをアノテーションで 設 定 アノテーションで 設 定 する 項 目 を 限 定 する ちょっとした 設 定 で 思 わぬ 時 間 をとられることを 防 ぐ 限 定 の 例 form-beanは 無 設 定 で 行 う action-mappingは nameとscopeのみアノテーションで 設 定 する etc 24

POJO 化 ActionをPOJO 化 したときの 特 徴 テストしやすくなる 特 定 のAPIに 依 存 しなくなる import 文 からStruts 関 連 のクラスがなくなる ページを 中 心 とした 開 発 拡 張 TagLibを 利 用 することで 可 能 となる Initタグによる 画 面 初 期 化 MethodBindingによるAction 処 理 25

POJO Action 例 @StrutsAction(name= calcform ) public class AddAction { } @StrutsActionForward(path= /calcresult.jsp public static final String SUCCESS = success ; public void setcalcform(calcform calcform) {...} public CalcForm getcalcform() {... } @ExportToSession public List getcalchistory() {... } public void initialize() {... } public String docalc() {... } 26

POJO Action 規 則 1 Actionメソッド( 引 数 なし 戻 り 値 Stringのメソッド) Forward 名 を 返 却 する 1つのActionメソッドのみを 定 義 している 場 合 通 常 Actionと 同 様 の 方 法 による 実 行 MethodBindingによる 実 行 複 数 のActionメソッドを 定 義 している 場 合 DispatchActionと 同 様 の 方 法 による 実 行 MethodBindingによる 実 行 <s2struts:submit action= #{addaction.docalc} /> MethodBindingでは 実 行 するActionメソッドを コンポーネント 名.メソッド 名 で 指 定 27

POJO Action 規 則 2 Initializeメソッド( 引 数 なし 戻 り 値 voidのメソッド) 画 面 の 初 期 化 を 行 う メソッド 名 は 自 由 Initタグで 呼 び 出 されるメソッド <s2struts:init action= #{addaction.initialize} /> Initタグでは Initializeメソッドを コンポーネント 名.メソッド 名 で 指 定 28

POJO Action 規 則 3 FormBeanのバインディング FormBean 名 のプロパティを 定 義 セッターメソッドでViewから 受 け 取 れる ゲッターメソッドでViewへ 渡 す スコープはActionMappingに 従 う 29

POJO Action 規 則 4 その 他 のオブジェクトのバインディング セッターメソッドでViewから 受 け 取 れる 受 け 取 る 優 先 順 位 HttpServletRequest#getParameter(プロパティ 名 ) HttpServletRequest#getAttribute(プロパティ 名 ) HttpSession#getAttribute(プロパティ 名 ) ゲッターメソッドでViewへ 渡 す デフォルトはRequestスコープに 値 を 設 定 Sessionスコープに 値 を 設 定 する 場 合 はアノテーションで 指 定 する 30

POJO Actionの の 疑 問 interfaceは 必 要 なの? S2Struts1.3からinterface 不 要 ただinterfaceを 定 義 すると 設 定 と 実 装 が 分 離 され 明 確 になる InitializeメソッドとActionメソッドは 別 々のAction クラスで 定 義 しないといけないの? 1つのActionクラスとして 定 義 可 能 31

POJO 化 のポイント トレードオフを 考 慮 する Strutsから 距 離 をおく 移 行 しやすいかも でも Strutsの 知 識 は 必 須 POJO 化 するだけの 価 値 はあるか テストしやすくなる 拡 張 TagLibを 使 うことで 開 発 しやくなる でも 新 しく 覚 えることが 増 える 32

拡 張 TabLib 拡 張 TagLibの 特 徴 Strutsのタグをより 便 利 に indexidの 追 加 チェックがない 場 合 でも 値 をセットするcheckboxタグ バリデーションを 行 わなくするcancel 属 性 の 追 加 無 設 定 の 支 援 ページを 中 心 とした 開 発 のための 機 能 33

無 設 定 の 支 援 Pageタグ エラー 発 生 時 自 画 面 を 再 表 示 する action inputを 指 定 しなくてよい cancel 属 性 バリデーション 有 無 をタグで 指 定 action validateは 常 にtrue(デフォルト 値 )で 問 題 な し 34

ページ 中 心 とした 開 発 のための 機 能 Initタグ 画 面 の 初 期 化 処 理 を 行 う ページの 初 期 化 についてはそのページで 指 定 MethodBinding POJO Actionのメソッドを 直 接 指 定 する DispatchActionなどの 代 替 え 手 段 cancel 属 性 と 併 用 することによりバリデーション 有 無 を 制 御 35

拡 張 TagLibのポイント POJO 化 しない 場 合 Strutsタグの 拡 張 部 分 のみを 利 用 違 和 感 なく 便 利 に 利 用 できる Initタグは 利 用 しないほうがよいかも 利 用 したらPOJO 化 したくなる POJO 化 する 場 合 積 極 的 に 利 用 したほうが 便 利 Pageタグを 利 用 すればInitタグもほしくなる Initタグを 利 用 すればMethodBindingしたくなる 36

HOT deploy HOT deployの 特 徴 テンポのよい 開 発 クラスの 追 加 / 変 更 がすぐに 反 映 設 定 ファイルの 変 更 もすぐに 反 映 struts-config.xml validation.xml application.properties ストレスの 少 ない 開 発 アプリケーションサーバーを 起 動 したまま 開 発 37

HOT deployの の 設 定 web.xmlの 変 更 HotdeployFilterの 追 加 <filter> <filter-name>hotdeployfilter</filter-name> <filter-class>...hotdeployfilter</filter-class> </filter> : <filter-mapping> <filter-name>hotdeployfilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>request</dispatcher> <dispatcher>forward</dispatcher> </filter-mapping> REQUESTとFORWARDに 対 してフィルタをかけるため Servlet2.4が 必 要 38

HOT deployの の 設 定 struts-config.xmlの 変 更 HotdeployPlugInの 追 加 <plug-in classname="...validatorplugin"> : </plug-in> <plug-in classname="...hotdeployplugin"> : </plug-in> 一 番 最 後 に HotDeployPlugInを 追 加 する 39

HOT deployの の 仕 組 み 設 定 ファイル Requestのたびに 毎 回 読 み 込 む 無 設 定 ~ 省 設 定 の 場 合 ActionConfigの 求 め 方 RequestのたびにActionConfigを 生 成 する Requestパス コンポーネント 名 クラス ActionConfig FormBeanConfigの 求 め 方 RequestのたびにFormBeanConfigを 生 成 す ActionConfig name コンポーネント 名 クラス FormBeanConfig 40

HOT deployの の 制 限 無 設 定 ~ 省 設 定 の 場 合 の 制 限 action pathは 規 約 による 設 定 とする pathからactionクラスを 求 めるため form-bean nameは 規 約 による 設 定 とする nameからformbeanクラスを 求 めるため 41

HOT deployの の 注 意 点 対 応 していない 設 定 ファイルがある web.xml tiles-defs.xmlについては 未 対 応 開 発 のときのみ 利 用 Requestのたびに 設 定 ファイルを 読 み 込 むため 性 能 が 悪 くなる 本 番 運 用 時 にはCOOL deployに 切 り 替 える env.txtの 内 容 を ut 以 外 に 変 更 42

まとめ 必 要 な 機 能 のみを 利 用 まずはS2とStrutsの 連 動 とHOT deployを 試 してほ しい 開 発 効 率 のアップ 無 設 定 ~ 省 設 定 により 設 定 ファイルの 管 理 を 不 要 に でき HOT deployにより 動 作 確 認 がすぐにできるよ うになる POJO 化 による 利 点 ActionをPOJO 化 することによりテストがしやすくなり 拡 張 TagLibも 一 緒 に 使 うことによりページ 中 心 の 開 発 が 可 能 となる 43

ご 清 聴 ありがとうございました 44