パラメータの受け渡し J2EE II 第9回 2004年11月11日 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 “title” というプロパティ 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
© Copyright 2024 ExpyDoc