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

Slides:



Advertisements
Similar presentations
ネットワークプログ ラミング論 平成27年 11 月 1 6日 森田 彦. 【基礎課題 6-1 】の解答 ① サーブレットを記述して保管するとコン パイルが自動的に行われる。 ② サーブレットの記述後、開発者がコンパ イル命令を実行しなければならない。 ③ プロジェクト名が Web アプリケーション.
Advertisements

1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
4 相互作用図 後半 FM13001 青野大樹.
GridLayout オブジェクト(省略)
バリデータ J2EE II 第11回 / 2006年1月19日.
JavaScript プログラミング入門 2006/11/10 神津.
アルゴリズムとデータ構造 2013年6月18日
アルゴリズムとデータ構造 2010年7月5日
エンタープライズアプリケーション II 第10回 / 2006年7月23日
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
JSFによるWebアプリケーション開発 第11回
Servlet J2EE I 第8回 /
Iアプリプログラミング その1  鳥居秀徳.
プログラミング基礎I(再) 山元進.
最適化ソルバーのための Python言語入門
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
アルゴリズムとデータ構造 2012年6月14日
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
ビューとコントローラ.
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
エンタープライズアプリケーション II 第7回 / 2006年7月9日
メソッド名とその周辺の識別子の 相関ルールに基づくメソッド名変更支援手法
インタフェース プログラミング 第14回 インタフェース プログラミング第14回.
アルゴリズムとデータ構造 2011年6月14日
JSPの作成 J2EE II 第3回 2005年4月10日.
RMI ソフトウェア特論 第6回 /
プログラミング演習3 第2回 GUIの復習.
ネットワークプログラミング論 平成28年11月21日 森田 彦.
第12回 2007年7月13日 応用Java (Java/XML).
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
第6回 2007年6月1日 応用Java (Java/XML).
アルゴリズムとデータ構造1 2006年7月4日
Javaによる Webアプリケーション入門 第6回
プログラミング演習3 第2回 GUIの復習.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
5.9 メソッドのオーバーロード 5.10 変数の引渡し 2003/11/21 紺野憲一
エンタープライズアプリケーション II 第9回 / 2006年7月23日
Javaによる Webアプリケーション入門 第11回
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
JSFによるWebアプリケーション開発 第3回
プログラミングⅠ 平成30年10月22日 森田 彦.
JAVA入門後期④ イベント、AWT、の基本構造、スレッド
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
C#プログラミング実習 第3回.
Javaによる Webアプリケーション入門 第8回
Javaによる Webアプリケーション入門 第4回
コレクション・フレームワーク J2EE I (データベース論) 第6回 /
コレクション・フレームワーク データベース論 第7回.
JSPの基本 データベース論 第2回.
Action Method の実装 J2EE II 第9回 2004年12月2日.
アルゴリズムとデータ構造1 2009年7月2日
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
統合開発環境のための プログラミング言語拡張 フレームワーク
JSFによるWebアプリケーション開発 第5回
How To WPF アプリケーション Part4 By 中博俊.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
JSFによるWebアプリケーション開発 第10回
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
JSFによるWebアプリケーション開発 第7回
MVCモデル2による Webアプリケーション
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

JSFによるWebアプリケーション開発 第9回 イベント処理 JSFによるWebアプリケーション開発 第9回

ここでの内容 JSFのイベント処理について学ぶ。

イベント処理とは イベント = アプリケーションで行われる操作 イベント処理とは、ある特定のイベントが起こったときに、何らかの処理を行うこと イベント = アプリケーションで行われる操作 ボタンを押する 入力フィールドにデータを入力する イベント処理とは、ある特定のイベントが起こったときに、何らかの処理を行うこと

イベント処理のしくみ イベント発生元 イベントリスナー イベントが起こるところ ボタン、テキストフィールドなど 発生したイベントを受け取り、イベントに対応する処理を行うところ

JSFでの2種類のイベント処理 Action イベント Value Change イベント ボタンやハイパーリンクが押されたときに発生するイベント Value Change イベント ボタンが押されたとき、対象となるUIコンポーネントが変化していたら発生するイベント

Action イベント

やりたいこと (1)

やりたいこと (2) 「名前」を入力してボタンを押すと、次の2つの情報を出力する。 入力された「名前」 どのボタンが押されたか

JSPの記述 <h:inputText id="word“ value="#{ParameterBean.name}" /> <h:commandButton id="button1" value="Button1" actionListener= "#{ParameterBean.assembleMessage}" /> <h:commandButton id="button2" value="Button2" <h:outputText id="message" value="#{ParameterBean.message}" />

イベントリスナーの設定 <h:commandButton id="button1" value="Button1" actionListener= "#{ParameterBean.assembleMessage}" /> actionListener 属性の値は Method Binding 式となっている。 ParameterBean の assembleMessage メソッドがイベントリスナーとなる。

イベントリスナーの実装 public void assembleMessage(ActionEvent event) { String id = event.getComponent().getId(); StringBuffer sb = new StringBuffer(); sb.append(name); sb.append("さん、"); sb.append(id); sb.append("が押されました。"); message = new String(sb); }

イベントリスナーのルール public void assembleMessage(ActionEvent event) { ……… } 返値はなし

ActionEvent オブジェクトの操作 String id = event.getComponent().getId(); イベントが起こったUIコンポーネントの id 属性の値を返す。

Action Method と Action Event outcome が便利 ActionEvent オブジェクトを利用することで、イベント発生元のUIコンポーネントの情報を取得できる。

Value Change イベント

やりたいこと (1) “Go!”ボタンが押されたとき、ラジオボタンの選択内容が変化していたらメッセージを表示する

やりたいこと (2) “Go!”ボタンが押されても、ラジオボタンの選択内容が変化していなかったらメッセージも変わらない。

JSPの記述 <h:selectOneRadio value="#{ParameterBean.sports}" valueChangeListener= "#{ParameterBean.assembleMessage}"> ……… </h:selectOneRadio> <h:commandButton id="button" value="Go!" /> <h:outputText id="message" value="#{ParameterBean.message}" />

h:selectOneRadio 要素 (1) value="#{ParameterBean.sports}" valueChangeListener= "#{ParameterBean.assembleMessage}"> <f:selectItem itemValue="baseball“ itemLabel="野球" /> <f:selectItem itemValue="soccer“ itemLabel="サッカー" /> </h:selectOneRadio>

h:selectOneRadio 要素 (2) ラジオボタンを表す UIコンポーネント ラジオボタンは、1つだけ選択ができるボタンのグループ 選択されたボタンの値は value 属性で Value Binding を使う <h:selectOneRadio value="#{ParameterBean.sports}“> </h:selectOneRadio>

f:selectItem 要素 <f:selectItem itemValue="baseball“ itemLabel="野球" /> 1つの選択肢を表すUIコンポーネント itemValue 属性は、この選択肢が選ばれたときにh:selectOneRadio 要素の value 属性に入る値 itemLabel 属性は、表示される文字列

イベントリスナーの設定 <h:selectOneRadio value="#{ParameterBean.sports}" valueChangeListener=   "#{ParameterBean.assembleMessage}"> </h:selectOneRadio> valueChangeListener 属性の値は Method Binding 式となっている。 ParameterBean の assembleMessage メソッドがイベントリスナーとなる。

イベントリスナーの実装 public void assembleMessage( ValueChangeEvent event) { String str = event.getNewValue().toString(); ...... if (str.equals("baseball")) { sb.append("野球"); } message = new String(sb);

イベントリスナーのルール public void assembleMessage( ValueChangeEvent event) { 返値はなし

ActionEvent オブジェクトの操作 String str = event.getNewValue().toString(); イベントが起こったUIコンポーネントの現在の値を返す。