JSFによるWebアプリケーション開発 第6回

Slides:



Advertisements
Similar presentations
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
Advertisements

1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Apache Camel Data Format Component Apache Camel
バリデータ J2EE II 第11回 / 2006年1月19日.
JPAを利用した RESTful Webサービスの開発
JavaScript プログラミング入門 2006/11/10 神津.
JSFによるWebアプリケーション開発 第9回
Apache Camel Data Format Component Apache Camel
エンタープライズアプリケーション II 第10回 / 2006年7月23日
JSFによるWebアプリケーション開発 第11回
Servlet J2EE I 第8回 /
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
タグライブラリ ソフトウェア特論 第6回.
タグライブラリとJSP J2EE I 第10回 /
セッション管理 J2EE I 第9回 /
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
エンタープライズアプリケーション II 第7回 / 2006年7月9日
第20章 Flyweight ~同じものを共有して無駄をなくす~
メソッド名とその周辺の識別子の 相関ルールに基づくメソッド名変更支援手法
JSPの作成 J2EE II 第3回 2005年4月10日.
アプレット プログラミング 第10回 アプレット プログラミング第10回.
RMI ソフトウェア特論 第6回 /
Javaによる Webアプリケーション入門 第9回
Javaによる Webアプリケーション入門 第5回
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
ネットワークプログラミング論 平成28年11月21日 森田 彦.
Stateful Session Beans
第12回 2007年7月13日 応用Java (Java/XML).
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
第11回 2007年7月6日 応用Java (Java/XML).
WebサービスII (第7回) 2007年11月7日 植田龍男.
Webアプリケーションの方向性 データベース論 第13回.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
Javaによる Webアプリケーション入門 第6回
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
エンタープライズアプリケーション II 第9回 / 2006年7月23日
Javaによる Webアプリケーション入門 第11回
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
JSFによるWebアプリケーション開発 第3回
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
C#プログラミング実習 第3回.
Javaによる Webアプリケーション入門 第4回
Annotation EJB 3.0 コース 第3回 2006年8月4日.
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
Action Method の実装 J2EE II 第9回 2004年12月2日.
稚内北星学園大学 情報メディア学部 安藤 友晴
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
JSFによるWebアプリケーション開発 第5回
JAVA入門⑥ クラスとインスタンス.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
JSFによるWebアプリケーション開発 第10回
JSFによるWebアプリケーション開発 第7回
MVCモデル2による Webアプリケーション
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
Presentation transcript:

JSFによるWebアプリケーション開発 第6回 パラメータの受け渡し JSFによるWebアプリケーション開発 第6回

ここでの内容 JSFでのパラメータの受け渡し方法について学ぶ。

やりたいこと 画面1のテキストフィールドに入力したパラメータを、画面2で表示する。

JavaBeansとプロパティ

JavaBeans とは何か Javaによるコンポーネント技法 いくつかのルールのもとに作られた Javaのクラス だから、取り扱いやすい GUI 表計算 本のデータと関連する処理

JavaBeans のルール 永続化 引数無しのコンストラクタ プロパティ

プロパティとは Bean の持つ「属性」のこと 本をあらわす Bean であれば、次のものがプロパティ タイトル 著者 出版社 など

「本」を表す Bean public class Book implements Serializable { private String title; public Book() { …..} public String getTitle() { return title;} public void setTitle(String t) { title = t; } …… }

メソッドのネーミングルールと プロパティ title というプロパティがある setTitle() や getTitle() というメソッドがある。 title というフィールドがあることを意味しない。 setTitle() や getTitle() というメソッドがある title というプロパティがある。 メソッドがあるから、プロパティが存在する

setter と getter setter getter どちらかが存在するだけでプロパティになりうる setTitle() というスタイルのメソッド プロパティに値をセットする getter getTitle() というスタイルのメソッド プロパティの値を得る どちらかが存在するだけでプロパティになりうる

setter と getter とプロパティ setter  setTitle() getter  getTitle() プロパティ名では、先頭が小文字

Managed Bean の作成

Managed Bean とパラメータ HTMLのフォームから入力されたパラメータを、Managed Bean (または Backing Bean) と呼ばれる JavaBeans に格納する。 このとき、Managed Bean のプロパティでパラメータの情報を管理する。

Managed Bean の例 (1) public class ParameterBean { private String word; …… public String getWord() { return word;} public void setWord(String w) { word = w; } }

Managed Bean の例 (2) この Bean には、word というプロパティがある。

faces-config.xml の設定

概要 faces-config.xml に、この Managed Bean の情報を記述しておく。 <faces-config> ...... </managed-bean>

managed-bean 要素 <managed-bean> <managed-bean-name> ParameterBean </managed-bean-name> <managed-bean-class> </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean>

managed-bean-class 要素 ParameterBean </managed-bean-class> Managed Bean のクラス名を指定する

managed-bean-name 要素 <managed-bean-name> ParameterBean この Bean に “ParameterBean” という名前をつける。

managed-bean-scope 要素 (1) session </managed-bean-scope> Bean の生存期間を表す。

managed-bean-scope 要素 (2) どのような値があるか application そのWebアプリケーションが起動してから終了するまで session セッションが有効なあいだ request (HTTPの)要求から応答まで none スコープには属さない

managed-bean-scope 要素 (3) Managed Bean は、managed-bean-scope 要素の設定によって自動的にインスタンスが生成される。 JSP の useBean タグを使う必要はない。

JSP と Value Binding

page1.jsp <f:view> <h:form id="searchForm"> <h:inputText id="word" value="#{ParameterBean.word}" /> <h:commandButton id="button1" action="success" value="Go!" /> </h:form> </f:view>

#{ParameterBean.word} こうしたしくみのことを “Value Binding” と言う。 こうした #{……} という書式を “Value Binding 式” と言う。

Value Binding 式 #{ Beanの名前 . プロパティ名 } “Beanの名前” は、 先の managed-bean-name 要素の内容部分 “プロパティ名” は、入力フィールドのパラメータ情報を格納する Bean のプロパティ名

page2.jsp <f:view> <h:form id="searchForm"> <h:outputText id="word" value="#{ParameterBean.word}" /> </h:form> </f:view>

h:outputText 要素 (1) <h:outputText id="word" value="#{ParameterBean.word}" /> value属性の値を表示するUIコンポーネント id 属性がある。

h:outputText 要素 (2) <h:outputText id="word" value="#{ParameterBean.word}" /> Value Binding によって、ParameterBean の word プロパティの値が出力される。