Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1
Yoshio Terada
Java Evangelist
http://yoshio3.com, Twitter :
@yoshioterada
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 2
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
Oracleは、米国オラクルコーポレーション及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 3
Struts から JSF へ
DB
画面デザイン
依存性注入
・
ビジネス
ロジック
DB連携
O/Rマップ
利用者
Struts
JSF
spring
DI/CDI/
EJB
HIBER
NATE
JPA
Struts, Spring, Hibernate
Java EE
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 4
Java EE の一般的なアプリケーション構成
DB
JSF /EL CDI
EJB/JTA
クライアント Web アプリケーション
Web/EJB コンテナ
JPA (O/R Mapping)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 5
JavaServer Faces
Web デザイナー
HTML 5 フレンドリー・マークアップ
<HTML <body jsf:id="body"> <form jsf:id="form" jsf:prependId="false"> <input type="text” jsf:id="name" jsf:value=“”> </form> <body></html>
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 6
@Named(value=“person”) public class Person implements Serializable { private String name; private String addressline1; private String addressline2; private String city; private String phone; private String email; } //別途 Setter,Getter メソッドを用意
<input type=“text” jsf:id="name” jsf:value=“#{person.name}”> <input type=“text” jsf:id=”city” jsf:value=“#{person.city}”>
JSF と CDI そして バインディング(EL)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 7
JSF のボタン押下処理と CDI の処理実装 action でボタンが押下された際のメソッドにバインディング
<input type=“submit” value=”DBへ登録“ jsf:action=”#{customerManage.savePerson}“/>
Facelets でバックエンド処理にバインド
@Named(value =“customerManage”) @RequestScoped public class CustomerManage { public String savePerson() { //バックエンド処理の実装 return "success"; } }
CDI で実装
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 8
JSF-CDI-EL の活用メリット
1. 開発生産性の高さ 2. View と ロジックの明確な分離が可能 3. 保守性の向上
1. 設定ファイルの少なささ 2. xhtml ベースの開発
4. コンポーネントの再利用(カスタム・コンポーネント) 5. Java EE 標準仕様
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 9
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 10