Webテンプレートエンジン “Mayaa”



Similar documents
Mayaa 実践活用 TIPS

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

Microsoft Word - FBE3A91F.doc

■ディレクトリ

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

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

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

研究者情報データベース

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

Microsoft Word - linkad_manual【110418】.doc

一 覧 表 ( 専 従 者 用 ) YES NOチャート( 専 従 月 額 単 価 用 ) (P.4)を 参 考 にしてください < 直 接 雇 用 者 > 一 覧 表 ( 専 従 者 用 )の 単 価 は 委 託 期 間 中 に 継 続 して 半 年 以 上 当 該 AMED 事 業

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

PowerPoint プレゼンテーション

Microsoft Word _page新機能について.doc

端 末 型 払 い 出 しの 場 合 接 続 構 成 図 フレッツ グループから 払 出 されたIPアドレス /32 NTT 西 日 本 地 域 IP 網 フレッツ グループ フレッツ グループから 払 出 されたIPアドレス /

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

別冊資料-11

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

(Microsoft PowerPoint - \201y\210\363\215\374\201\250\215\317\201zJ-STAGE3\213@\224\\\212g\222\243.ppt)

2 役 員 の 報 酬 等 の 支 給 状 況 役 名 法 人 の 長 理 事 理 事 ( 非 常 勤 ) 平 成 25 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 16,936 10,654 4,36

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

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

Microsoft Word - ML_ListManager_10j.doc

全設健発第     号

JavaServer Templates “Maya”

■デザイン

容 積 率 制 限 の 概 要 1 容 積 率 制 限 の 目 的 地 域 で 行 われる 各 種 の 社 会 経 済 活 動 の 総 量 を 誘 導 することにより 建 築 物 と 道 路 等 の 公 共 施 設 とのバランスを 確 保 することを 目 的 として 行 われており 市 街 地 環

- もくじ - Ver の 変 更 点 P.3 1 障 害 者 総 合 支 援 法 概 要 P.4 2 平 成 25 年 度 以 降 地 域 区 分 対 応 P 地 域 区 分 設 定 方 法 P 地 域 区 分 について P 地 域 単 価 の 確

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

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

おすすめページ

Taro-1-14A記載例.jtd

目 次 1. 提 案 依 頼 にあたって 本 件 の 目 的 岩 手 県 立 大 学 ウェブサイトリニューアルの 概 要 概 要 スケジュールの 目 安 契 約 期 間 費 用...

PowerPoint プレゼンテーション

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

付 録 B Wiki を 閲 覧 編 集 する B.1 Wiki を 閲 覧 する Web ブラウザのアドレス 欄 に 公 開 されている 個 人 用 Wiki の URL またはメーリ ングリストの Wiki の URL を 入 力 すると その Wiki を 閲 覧 編 集 することができ ます

4 承 認 コミュニティ 組 織 は 市 長 若 しくはその 委 任 を 受 けた 者 又 は 監 査 委 員 の 監 査 に 応 じなければ ならない ( 状 況 報 告 ) 第 7 条 承 認 コミュニティ 組 織 は 市 長 が 必 要 と 認 めるときは 交 付 金 事 業 の 遂 行 の

東近江行政組合職員の育児休業等に関する条例

(5) 人 権 侵 害, 差 別 又 は 名 誉 毀 損 となるもの, 又 はおそれがあるもの (6) 他 人 を 誹 謗 し, 中 傷 し, 又 は 排 斥 するもの (7) 投 機 心, 射 幸 心 をあおるもの, 又 はそのおそれがあるもの (8) 内 容 が 虚 偽 誇 大 であるなど 過

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 (

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

SPARQL Finder設置方法

Microsoft Word - 生物学技研報告ONLINE ガイドブック.doc

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

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

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

Microsoft PowerPoint 資料6 技術基準.ppt [互換モード]

OKIKAE-KAIRYOU-V3.xdw

1/2

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

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

WebMail ユーザーズガイド

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

住宅改修の手引き(初版)

<4D F736F F D2091DE90458F8A93BE82C991CE82B782E98F5A96AF90C582CC93C195CA92A58EFB82CC8EE888F882AB B315D2E312E A2E646F63>

Taro-別紙1 パブコメ質問意見とその回答

H28記入説明書(納付金・調整金)8

スライド 1

Taro-2220(修正).jtd

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

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

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

1 総 合 設 計 一 定 規 模 以 上 の 敷 地 面 積 及 び 一 定 割 合 以 上 の 空 地 を 有 する 建 築 計 画 について 特 定 行 政 庁 の 許 可 により 容 積 率 斜 線 制 限 などの 制 限 を 緩 和 する 制 度 である 建 築 敷 地 の 共 同 化 や

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

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

使用料規程

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

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

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

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

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

Microsoft Word - 資料5-1_資料掲載_ver docx

PowerPoint プレゼンテーション

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

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

PowerPoint プレゼンテーション

. 負 担 調 整 措 置 8 (1) 宅 地 等 調 整 固 定 資 産 税 額 宅 地 に 係 る 固 定 資 産 税 額 は 当 該 年 度 分 の 固 定 資 産 税 額 が 前 年 度 課 税 標 準 額 又 は 比 準 課 税 標 準 額 に 当 該 年 度 分 の 価 格 ( 住 宅

スライド 1

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

k_setumeikai_siryo

■新聞記事

PowerPoint プレゼンテーション

新ひだか町住宅新築リフォーム等緊急支援補助金交付要綱

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

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

の 基 礎 の 欄 にも 記 載 します ア 法 人 税 の 中 間 申 告 書 に 係 る 申 告 の 場 合 は 中 間 イ 法 人 税 の 確 定 申 告 書 ( 退 職 年 金 等 積 立 金 に 係 るものを 除 きます ) 又 は 連 結 確 定 申 告 書 に 係 る 申 告 の 場

[Q1] 復 興 特 別 所 得 税 の 源 泉 徴 収 はいつから 行 う 必 要 があるのですか 平 成 25 年 1 月 1 日 から 平 成 49 年 12 月 31 日 までの 間 に 生 ずる 所 得 について 源 泉 所 得 税 を 徴 収 する 際 復 興 特 別 所 得 税 を 併

<4D F736F F F696E74202D D382E982B382C68AF1958D8BE090A C98AD682B782E B83678C8B89CA81698CF6955C A2E >

WEB保守パック申込

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

- INDEX - 1 ご 利 用 時 間 1 2 メニュー 1 3 ご 利 用 になる 前 に 行 っていただきたいこと 3 (1) 所 在 地 沿 線 設 定 3 (2) 会 員 情 報 の 管 理 ( 自 社 情 報 の 設 定 ) 5 4 物 件 情 報 の 登 録 8 (1) 操 作 概

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

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの

PowerPoint Presentation

PDF閲覧制限システム(簡易版)概説書

登 載 システム 操 作 説 明 Ⅰ. 登 載 システムでの 公 開 までの 流 れ Ⅱ. 基 本 操 作 Ⅲ. 推 奨 動 作 環 境 2

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

PowerPoint プレゼンテーション

Transcription:

2006 Autumn Webテンプレートエンジン Mayaa 2006.11.12 The Seasar Project 株 式 会 社 グルージェント 須 賀 幸 次 1

はじめまして 名 前 : 須 賀 幸 次 (すが こうじ / suga) 所 属 : 株 式 会 社 グルージェント (http://www.gluegent.com) メールアドレス:ko.suga@gmail.com Seasarとのかかわり Mayaaプロジェクトリーダー(2 代 目 ) Seasar 入 門 はじめてのDI&AOP ( 共 著 ) 2

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 3

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 4

1.Mayaa Mayaaの の 概 要 MayaaはWebテンプレートエンジン デザインとロジックを 分 離 する JSPの 置 き 換 えとして 使 える http://mayaa.seasar.org/ IPA 未 踏 ソフトウェア 創 造 事 業 2005 年 度 上 期 採 択 ( 千 葉 滋 PM) 代 表 者 : 栗 原 傑 享 (くりはら まさたか) まやー 沖 縄 方 言 で 猫 のこと 5

Mayaaの の 特 徴 デザインとロジックの 分 離 JSPの 置 き 換 え 6

Mayaaの の 特 徴 (1) デザインとロジックの 分 離 HTMLと 対 になるバインディング 情 報 ファイル(XML) 拡 張 子.mayaa ( Mayaaファイル と 呼 ぶ) idでバインディング( 設 定 で 変 更 可 能 ) テンプレート 上 にロジックを 載 せる 記 述 も 可 能 HTML,XHTML( 一 応 XMLも 対 応 ) テンプレート (*.html) Mayaaファイル (*.mayaa) 7

Mayaaの の 特 徴 (2) JSPの 置 き 換 え MVCでいうところのView 層 のみ 変 更 の 即 時 反 映 JSPカスタムタグを 使 える JSPを 前 提 としたミドルウェアを 使 える JSP Velocity View Mayaa FreeMarker Tapestry Struts JSF Teeda (Extension) Controller WebWork2 8

JSPの の 問 題 を 解 決 JSPでは 凝 ったデザインのページを 作 りにくい JSPの 状 態 ではブラウザでプレビューできない HTMLタグの 中 にJSPカスタムタグやスクリプトレット デザイナーがJSPを 編 集 する 必 要 がある あるいはデザイン 変 更 のたびにプログラマ 作 業 Mayaaなら HTMLのタグにidを 付 けるだけ Mayaaファイルでカスタムタグを 割 り 当 てる デザインはHTMLに (View)ロジックはMayaaに 9

デザイン 例 (HTML) <h1> 掲 示 板 投 稿 </h1> <form action="bbs.html"> <table border="1"> <tr> <th>お 名 前 </th> <td><input type="text" name </tr> <tr> <th>メールアドレス</th> <td><input type="text" name </tr> Strutsと 連 携 する 形 にすると 10

デザイン 例 (Struts( Strutsカスタムタグ) <h1> 掲 示 板 投 稿 </h1> 入 力 欄 やボタンが 表 示 されない <html:form action="/bbs"> <table border="1"> <tr> <th>お 名 前 </th> <td><html:text name=" </tr> <tr> <th>メールアドレス</th> <td><html:text name=" </tr> 11

デザイン 例 (Mayaa( Mayaaテンプレート) <h1> 掲 示 板 投 稿 </h1> <form action="bbs.html" id=" <table border="1"> <tr> <th>お 名 前 </th> <td><input type="text" id=" </tr> <tr> <th>メールアドレス</th> <td><input type="text" id=" </tr> idを 付 けるだけ 12

記 述 はJSPは JSPと 似 ている JSP <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <html> <body> <form> ( Strutsタグにするのは 省 略 ) <html:text property="name"/> </form> Mayaa <html> <body> <form> <input id="name" ( 略 )> </form> HTMLとMayaaファイルとが 一 対 <m:mayaa xmlns:m="http://mayaa.seasar.org" xmlns:html="http://struts.apache.( 略 )"> <html:text m:id="name" property="name" /> id 属 性 でバインディング 13

MayaaをJSP JSPの の 代 わりに 使 おう JSP デザインとロジックが 混 在 代 わりにMayaaを 使 おう 14

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 15

2. 導 入 事 例 の 紹 介 ひまわり 証 券 株 式 会 社 様 サイトリニューアル http://sec.himawari-group.co.jp/ (3サイト 構 成 ) 2006.08.19 リニューアルオープン 2006.10.17 日 経 IT Proに 事 例 記 事 HTMLファイル 数 約 1200 ほぼすべてのページに 動 的 な 部 分 あり 最 大 瞬 間 アクセス 数 1 分 間 に2500 超 採 用 理 由 デザイナーとプログラマーの 連 係 HTML 変 更 を 容 易 にしたい 16

導 入 事 例 の 紹 介 ソフトウェア 構 成 IIS,Tomcat,JRockit(JDK5.0),SQLServer2005 Mayaa,Struts,Seasar2,S2Dao Tomcatクラスタ(2 台 )+ハードウェア 多 重 化 ソースコード 規 模 70000 LOC( 空 行,コメント 抜 き) ミッション 高 負 荷 に 耐 える(2500pv/m, 3 秒 以 内 ) Mayaaチューニング 成 果 は 還 元 感 謝 17

Mayaa1.0 vs Mayaa1.1 20スレッドで 同 時 アクセス 1 秒 置 きにサンプリング 最 初 10 回 は 無 視 (ウォームアップ) 300 回 サンプリング 平 均 時 間 (リクエストー 切 断 ) パフォーマンス 向 上 Seasar.orgトップページ サーバ Windows XP SP2 Pentium4 2.40 GHz jdk 1.5.0_09 Tomcat 5.5.20 Xms=512m Xmx=512m ニュース プロダクト 静 的 140 2170 ニュース 動 的 210 2260 プロダクト 動 的 Mayaa 1.0 Mayaa 1.1 46.6KB 1873タグ 1970 0 500 1000 1500 2000 2500 3000 3500 4000 3620 (ms) 18

パフォーマンス 比 較 JSP vs Velocity vs Mayaa1.1 平 均 時 間 (リクエストー 切 断 ) 静 的 ニュース 動 的 80.7 81.7 140 124 98.8 210 プロダクト 動 的 JSP Velocity Mayaa 1.1 124 237 0 500 1000 1500 2000 2500 秒 間 トランザクション 数 1970 (ms) 静 的 137 230 227 ニュース 動 的 94 157 195 プロダクト 動 的 JSP Velocity Mayaa 1.1 10.1 82.4 0 50 100 150 200 250(TPS) 157 19

パフォーマンス 比 較 Mayaa1.1 同 時 アクセススレッド 数 比 較 5, 10, 20スレッドで 同 時 アクセス 1 秒 置 きにサンプリング 最 初 10 回 は 無 視 (ウォームアップ) 300 回 サンプリング 平 均 時 間 (リクエストー 切 断 ) ニュース 動 的 45.7 91.2 210 プロダクト 動 的 5スレッド 10スレッド 20スレッド 390 877 1970 0 500 1000 1500 2000 2500 (ms) 20

2. 導 入 事 例 の 紹 介 ひまわり 証 券 株 式 会 社 様 サイトリニューアル 静 的 コンテンツ 更 新 に 支 障 なし 一 部 デザイン 変 更 時 も 問 題 なし Mayaa1.0 1.1で 高 速 化 特 に 静 的 コンテンツ 部 分 (10 倍 以 上 ) 成 果 還 元 に 感 謝 21

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 22

3.Mayaa Mayaaを を 使 う 環 境 設 定 Webコンテナ JspServletの 代 わりにMayaaServlet MayaaServletにマッピング( 例 :*.html) テンプレート Mayaaファイルを 用 意 設 定 テンプレートを 置 く 場 所,バインディング 方 法 など Webサーバ Tomcatで*.doや*.htmlを 処 理 Webサーバで 画 像 やcssを 処 理 23

テンプレートとMayaa Mayaaファイルを 用 意 <html> <body> <h1> <span id="title">ダミー</span> </h1> <form id="form1" action="confirm.html"> <input id="name" type="text"/> </form> JavaScript (Rhino) <m:mayaa xmlns:m="http://mayaa.seasar.org" xmlns:html="http://struts.apache.( 略 )"> <m:write m:id="title" value="${title}"/> <html:form m:id="form1" action="/confirm" /> <html:text m:id="name" property="name" /> ダミー 24

実 行 Servletからforward あるいは 直 接 アクセス /foo /bar.html Servlet forward bar.html bar.mayaa 25

設 定 実 例 テンプレートを 置 く 場 所 を 変 更 warファイルに 含 めず Tomcatの 外 に 置 く HTMLファイルをwarとは 別 に 更 新 するため FTPでデザイナーがアップロード(ステージング/ 本 番 ) html tomcat webapps ROOT ROOT.war.html,.mayaa 26

内 部 処 理 初 回 アクセス 時 にビルド 処 理 を 実 行 JSPでいうところのコンパイル 描 画 のための 内 部 モデルを 作 成 HTMLをパースしてレンダリング 用 のツリーを 作 成 HTMLタグをカスタムタグで 置 き 換 えるイメージ ツリーを 使 って 描 画 する HTMLファイルひとつに 対 してツリーひとつ 描 画 前 処 理, 描 画 後 処 理 あり 描 画 前 処 理 でforwardやredirectも 可 能 27

使 い 方 使 い 方 MayaaServletを*.htmlにマッピング 適 宜 設 定 *.htmlに 直 接 アクセスまたはforward ファイルを 変 更 すると 次 のアクセスから 反 映 JSPとほぼ 同 じ 共 存 も 可 能 28

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 29

4.Mayaa Mayaaの の 機 能 描 画 前 処 理 描 画 後 処 理 コンポーネント 機 能 テンプレート 切 り 替 え 機 能 レイアウト 共 有 機 能 30

4.Mayaa Mayaaの の 機 能 描 画 前 処 理 描 画 後 処 理 コンポーネント 機 能 テンプレート 切 り 替 え 機 能 レイアウト 共 有 機 能 31

描 画 前 処 理 描 画 後 処 理 例 ) 描 画 前 処 理 member.htmlへ アクセス/forward 未 ログインなら 警 告 ページへ redirect 描 画 処 理 member.html member.mayaa caution.html 32

描 画 前 処 理 のソースコード テンプレート <html> <head> <title> 会 員 専 用 ニュース</title> </head> <body> <h1> 会 員 専 用 ページ</h1> <ul> <li id="news"> <a id="link" href="news1.html </li> Mayaaファイル <m:mayaa xmlns:m="http://mayaa.seasar.org"> <m:beforerender><![cdata[ if (session.user == null) { redirect('/caution.html'); } var newslist = request.result.newslist; ]]></m:beforerender> <m:foreach m:id="news" value="${ newslist }" /> 33

4.Mayaa Mayaaの の 機 能 描 画 前 処 理 描 画 後 処 理 コンポーネント 機 能 テンプレート 切 り 替 え 機 能 レイアウト 共 有 機 能 34

コンポーネント 機 能 とは HTMLの 一 部 を 部 品 として 切 り 出 す 部 品 を 貼 り 付 ける 同 様 な 機 能 を 使 い 回 せる(ロジックの 記 述 は 一 カ 所 ) ページ 切 り 替 えの 現 在 位 置 表 示 部 品 引 数 でページ 数 などを 渡 す 35

コンポーネント 機 能 のソースコード news.html news.mayaa <m:mayaa xmlns:m="http://mayaa.seasar.org"> ダミー <m:insert m:id="pager" name="pagercomponent" path="/component/pager.html"/> pager.html pager.mayaa <m:dorender m:id="pagercomponent" name="pagercomponent"/> <m:echo m:id="link"> 36

4.Mayaa Mayaaの の 機 能 描 画 前 処 理 描 画 後 処 理 コンポーネント 機 能 テンプレート 切 り 替 え 機 能 レイアウト 共 有 機 能 37

テンプレート 切 替 機 能 とは 同 じURLに 複 数 のテンプレート (sample$ja.html, sample$en.html) 必 要 に 応 じてテンプレート 自 体 を 動 的 に 切 り 替 える たとえば 日 本 語 / 英 語 たとえばログイン 中 /ゲスト sample.html 38

テンプレートの 切 り 替 え 方 1. ファイル 名 に "$"+ 種 類 名 を 付 ける 2. 有 効 な 種 類 名 を 決 める 3. たとえばセッションに 格 納 4. mayaaファイルで 種 類 名 を 読 む session.setattribute("locale", "ja");...forward("sample.html"); <m:mayaa ( 略 ) m:templatesuffix="${ session.locale }"> sample.mayaa sample$ja.html sample$en.html 39

コンポーネントとテンプレート 切 り 替 え 実 例 コンポーネントにテンプレートを 複 数 用 意 ログイン 状 態 とゲスト 状 態 を 切 り 替 える ログイン 表 示 コンポーネント テンプレートが2 種 類 ゲスト 状 態 ($guest) ログイン 状 態 ($ 無 し) 40

コンポーネントとテンプレート 切 り 替 え 実 例 コンポーネントにテンプレートを 複 数 用 意 ログイン 状 態 とゲスト 状 態 を 切 り 替 える ログイン 状 態 $guest.html ログイン 状 態 コンポーネント ログイン 状 態.mayaa ログイン 状 態.html 41

4.Mayaa Mayaaの の 機 能 描 画 前 処 理 描 画 後 処 理 コンポーネント 機 能 テンプレート 切 り 替 え 機 能 レイアウト 共 有 機 能 42

レイアウト 共 有 機 能 とは 複 数 ページの 共 通 部 分 を 定 義 他 は 個 別 の 部 分 のみ 作 れば 良 い 動 的 に 組 み 合 わせる 共 通 部 分 個 別 部 分 この 案 件 では 使 わなかった 43

レイアウト 共 有 機 能 のソースコード layout.html index.html ダミー ダミー layout.mayaa <m:mayaa xmlns:m="http://mayaa.seasar.org"> <m:insert m:id="maincontent" name="content"/> index.mayaa <m:mayaa xmlns:m="http://mayaa.seasar.org" m:extends="layout.html"> <m:dorender m:id="mycontent" name="content"/> 44

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 45

5. 利 用 時 の 考 え 方 ピュアなHTMLの 追 求 (テンプレート) バインディング 方 法 設 計 時 に 決 めておくこと 46

利 用 時 の 考 え 方 (1) ピュアなHTMLの 追 求 (テンプレート) トレードオフ ツールでのバリデーションエラーを 少 なくする バリデーションエラーの 自 動 修 正 には 注 意 Mayaaファイルを 極 力 シンプルに 保 つ バリデーションエラーになりやすい 例 tableをspanで 囲 む, 空 span(<span id="foo"></span>) 47

利 用 時 の 考 え 方 (2) バインディング 方 法 前 提 :HTMLの 更 新 頻 度 が 高 い 場 合 あるいはデザイナーと 協 同 作 業 する 場 合 HTML 名 前 空 間 のidを 使 う 考 え 方 は 古 い? idはデザイン JavaScriptの 都 合 で 使 用 する デザインはclass JavaScriptはプログラマ もあり Mayaa 名 前 空 間 のid(m:id)を 使 う バインディングのみの 都 合 で 使 える htmlタグなどで 名 前 空 間 宣 言 が 必 要 DreamWeaverなどでは 無 視 設 定 をしないとエラーになる 48

利 用 時 の 考 え 方 (3) 設 計 時 に 決 めておくこと 表 示 する 内 容 をすべてテンプレート 上 に 乗 せる <span m:id="name">ダミー 名 前 </span> エラーメッセージや 未 ログイン 時 メッセージ 非 表 示 状 態 の 確 認 はMayaaかCSSで 大 幅 に 表 示 を 切 り 替 えるならテンプレート 切 り 替 え 例 )ログイン 状 態 / 未 ログイン 状 態 ファイルを 置 く 場 所 更 新 作 業 者 更 新 頻 度 によって 分 ける 49

アジェンダ 1. Mayaaの 概 要 2. 導 入 事 例 の 紹 介 3. Mayaaの 使 い 方 4. Mayaaの 機 能 5. 利 用 時 の 考 え 方 6. まとめ 50

6.まとめ Mayaaの 利 点 ロジックとデザインの 分 離 JSPの 代 わりに 使 える JSPカスタムタグを 使 える StrutsなどJSPを 前 提 とするミドルウェアを 使 える JSPと 共 存 可 能 で 部 分 的 置 き 換 えも 可 能 1.0 1.1でパフォーマンス 大 幅 向 上 フィードバックを 快 く 許 諾 いただいた ひまわり 証 券 株 式 会 社 様 に 感 謝 51

Appendix.プラクティス 一 例 default.mayaa <m:null m:id="dummy"/> load("common_functions.js"); load("check_login.js"); //エラー 時 にredirect component /component/~にファイルを 置 く Apache, IISなどでアクセス 制 限 をかける 52

ご 静 聴 ありがとうございました ご 質 問 ラウンジのスピーカーブースでお 待 ちしております メーリングリスト Mayaaユーザメーリングリストのご 案 内 http://mayaa.seasar.org/support/index.html 53