SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Java EE 6 開発入門

JSF2の画面でAjaxの非同期通信を作る

JavaEE6 開発入門(4)


ダウンロード SampleWebApp.zip (26.7 KB)

 それでは、先ほどのFaceletsでやりとりする変数を追加していきましょう。追加する内容は、ユーザー名(username)、パスワード(password)、処理結果(result)だったので、次のように変数を追加します。

[リスト3]変数を追加したSampleManagedBean.java
@Named(value="user")
@SessionScoped
    public class SampleManagedBean { 
    /** Creates a new instance of SampleManagedBean */ 
      public SampleManagedBean() {
      } 
      // 変数を追加
      String username;
      String password;
      String result;
      // 変数を追加 
    }

 変数を追加した場所はリスト3の下の部分になります。ではこれに対してsetメソッド、getメソッドを追加していきましょう。NetBeansでは補助機能でコードを生成してくれるため、今回はそれを使います。コードエディタ上の任意の場所で右クリックし、「コードを挿入」を選択します。

図7 コード生成機能(1)
図7 コード生成機能(1)

 次の選択ボックスが表示されるので「取得メソッドおよび設定メソッド」を選択します。

図8 コード生成機能(2)
図8 コード生成機能(2)

 最後に生成する変数名が表示されます。今回は全ての変数に対して出力するため、SampleManagedBeanにチェックをして、全てのチェックボックスに自動的にチェックされたのを確認し、[生成]を押します。

 すると、リスト4にあるように、username、password、resultの全てにset、getメソッドが追加されます。

[リスト4]setメソッドとgetメソッドを追加したSampleManagedBean.java
@Named(value="user")
@SessionScoped
  public class SampleManagedBean { 
  /** Creates a new instance of SampleManagedBean */ 
    public SampleManagedBean() {
    } 
      String username; 
      String password; 
      String result; 
      // set,getメソッドの開始↓ 
        public String getPassword() { return password; } 
        public void setPassword(String password) { this.password = password; } 
        public String getResult() { return result; } 
        public void setResult(String result) { this.result = result; } 
        public String getUsername() { return username; } 
        public void setUsername(String username) { this.username = username; } 
      // set,getメソッドの終了↑ 
  }

 これでひとまず定義は完了しました。現在の状態でアプリケーションを起動してみましょう。ブラウザから、http://localhost:8080/SampleWebApp/faces/ajaxsamplejsf.xhtmlを開いてみましょう。すると次のような画面が表示されます。

図9 Facelet表示画面
図9 Facelet表示画面

 ちなみに、この状態でも[送信する]ボタンを押せばサーバへの送信がされるのですが、resultでの値を作成してないため、特に何も変化はなく、また、値を受け取った後に何らかの処理を実行させる機能もつけていません。これらの機能を搭載し、実際にAjaxを使った送受信も行ってみましょう。

次のページ
Ajaxの機能を追加する

修正履歴

この記事は参考になりましたか?

Java EE 6 開発入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 東 浩二(アズマ コウジ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6050 2011/11/02 17:21

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー