PowerPointファイル
Download
Report
Transcript PowerPointファイル
パラメータの受け渡し
JSFによるWebアプリケーション開発
第6回
1
ここでの内容
JSFでのパラメータの受け渡し方法につい
て学ぶ。
2
やりたいこと
画面1のテキス
トフィールドに
入力したパラ
メータを、画面
2で表示する。
3
JavaBeansとプロパティ
4
JavaBeans とは何か
Javaによるコンポーネント技法
いくつかのルールのもとに作られた Java
のクラス
だから、取り扱いやすい
JavaBeans の例
GUI
表計算
本のデータと関連する処理
5
JavaBeans のルール
永続化
引数無しのコンストラクタ
プロパティ
6
プロパティとは
Bean の持つ「属性」のこと
本をあらわす Bean であれば、次のものが
プロパティ
タイトル
著者
出版社
など
7
「本」を表す Bean
public class Book implements Serializable {
private String title;
public Book() { …..}
public String getTitle() { return title;}
public void setTitle(String t) { title = t; }
……
}
8
メソッドのネーミングルールと
プロパティ
title というプロパティがある
setTitle() や getTitle() というメソッドがあ
る
setTitle() や getTitle() というメソッドがある。
title というフィールドがあることを意味しない。
title というプロパティがある。
メソッドがあるから、プロパティが存在する
9
setter と getter
setter
getter
setTitle() というスタイルのメソッド
プロパティに値をセットする
getTitle() というスタイルのメソッド
プロパティの値を得る
どちらかが存在するだけでプロパティにな
りうる
10
setter と getter とプロパティ
setter setTitle()
getter getTitle()
title というプロパティに値が設定できることを
示す
title というプロパティの値を取得できることを
示す
プロパティは “title”
setter と getter では、先頭が大文字になる
プロパティ名では、先頭が小文字
11
Managed Bean の作成
12
Managed Bean とパラメータ
HTMLのフォームから入力されたパラメータ
を、Managed Bean (または Backing
Bean) と呼ばれる JavaBeans に格納する。
このとき、Managed Bean のプロパティで
パラメータの情報を管理する。
13
Managed Bean の例 (1)
public class ParameterBean {
private String word;
……
public String getWord() { return word;}
public void setWord(String w) { word = w; }
……
}
14
Managed Bean の例 (2)
この Bean には、word というプロパティが
ある。
この word プロパティで、テキストフィール
ドに入力された情報を管理する。
15
faces-config.xml の設定
16
概要
faces-config.xml
に、この
Managed Bean
の情報を記述し
ておく。
<faces-config>
<managed-bean>
......
</managed-bean>
......
<faces-config>
17
managed-bean 要素
<managed-bean>
<managed-bean-name>
ParameterBean
</managed-bean-name>
<managed-bean-class>
ParameterBean
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
18
managed-bean-class 要素
<managed-bean-class>
ParameterBean
</managed-bean-class>
Managed Bean のクラス名を指定する
19
managed-bean-name 要素
<managed-bean-name>
ParameterBean
</managed-bean-name>
この Bean に “ParameterBean” という名
前をつける。
20
managed-bean-scope 要素 (1)
<managed-bean-scope>
session
</managed-bean-scope>
Bean の生存期間を表す。
21
managed-bean-scope 要素 (2)
どのような値があるか
application
session
セッションが有効なあいだ
request
そのWebアプリケーションが起動してから終了するまで
(HTTPの)要求から応答まで
none
スコープには属さない
22
managed-bean-scope 要素 (3)
Managed Bean は、managed-beanscope 要素の設定によって自動的にイン
スタンスが生成される。
JSP の useBean タグを使う必要はない。
23
JSP と Value Binding
24
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>
25
#{ParameterBean.word}
テキストフィールドに入力された文字列は、
ParameterBean の word プロパティに格
納される。
こうしたしくみのことを “Value Binding” と
言う。
こうした #{……} という書式を “Value
Binding 式” と言う。
26
Value Binding 式
#{ Beanの名前 . プロパティ名 }
“Beanの名前” は、 先の managed-beanname 要素の内容部分
“プロパティ名” は、入力フィールドのパラ
メータ情報を格納する Bean のプロパティ
名
27
page2.jsp
<f:view>
<h:form id="searchForm">
<h:outputText id="word"
value="#{ParameterBean.word}"
/>
</h:form>
</f:view>
28
h:outputText 要素 (1)
<h:outputText id="word"
value="#{ParameterBean.word}" />
value属性の値を表示するUIコンポーネン
ト
id 属性がある。
29
h:outputText 要素 (2)
<h:outputText id="word"
value="#{ParameterBean.word}" />
Value Binding によって、ParameterBean
の word プロパティの値が出力される。
30