Javaプログラミング/Javaプログラミング関連情報

JSPと管理Beanの基本を覚える(2ページ目)

JSFの基本は、表示用JSPと管理Beanです。この2つの使い方をしっかり覚えていきましょう。

執筆者:掌田 津耶乃

管理Beanを使ってみる


前回のサンプルは、JSPの表示だけを使ったものでした。JSFでは、もう1つ「管理Bean」も重要な役割を果たします。今度は、管理Beanを使ってみることにしましょう。

管理Beanは、大まかにいってしまえば2つの要素からなります。1つは「JSPで利用するさまざまな要素を管理するためのもの」、もう1つは「JSPから呼び出される処理」です。

JSPで利用する要素の管理というのは、JSPに記述したタグを管理するためのフィールドとアクセサです。JSPでは、JSF用のタグを使ってさまざまな要素を記述し表示することができます。ボタンや入力フィールド、表示テキストなどといったものですね。これらを管理Beanで管理するために、JSFには専用のクラスが用意されています。これをフィールドとして用意しておくことで、管理Bean側でJSPに表示される要素を管理できるのです。

例えば、JSPに入力フィールドのタグを書き、これを管理Beanで操作したいと思ったら、管理Beanクラスに入力フィールド用を管理するためのクラスをフィールドとして用意します。そしてそのアクセサ(Setter/Getterメソッド)を用意し、そこで値を取り出したり変更したりするための処理を用意しておきます。そして、両者の間の「バインディング」と呼ばれる手法で結び付けます。

まぁ、これは実際にやってみないとわかりにくいでしょう。簡単なサンプルを作ってみることにしましょう。まず、JSPの表示を少し修正しましょう。

<?xml version="1.0" encoding="utf-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html" version="1.2">
  <jsp:directive.page language="java"
    contentType="text/html; charset=utf-8" pageEncoding="utf-8" />
  <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>JSF Sample</title>
    </head>
    <body>
      <f:view>

        <h:outputText value="JSF Sample" id="text0"
          style="color: #0000AA; font-size: 18px; font-weight: bold" />
        <br /><br />
        <h:outputText value="これは、JSFによる表示です。" id="text1"

          binding="#{page1Bean.text1}"/>
        <h:form>
        <h:inputText value="" id="field1" binding="#{page1Bean.field1}" />
        <h:commandButton value="送信" id="button1"
          action="#{page1Bean.button1_action}" />
        </h:form>

      </f:view>
    </body>
  </html>
</jsp:root>

ここでは、<f:view>の中に、<h:form>というタグが用意されていますね。これは、フォームを記述するためのものです。HTMLでさまざまな情報を送信するとき、使われます。HTMLのフォームでは、actionやmethodなどを細かく指定しなければいけませんが、JSFでは、ただ<h:form>タグを書くだけです。

この中では、<h:inputText>というタグと、<h:commandButton>というタグが追加されていますね。これらは、それぞれ<h:input type="text">と<h:input type="submit">に相当するものです。

それぞれのタグの中には、id、valueというものがあります。idは識別のためのID名、そしてvalueは表示される値を示します。重要なのは、その後にある「binding」と、<h:commandButton>にある「action」です。

「binding」は、そのタグに関連付けられているBeanクラスのフィールドを示します。これは、"#{管理Bean名.フィールド}"といった形で記述をします。ここでは「page1Bean」という管理Beanの「field1」といったフィールドに関連付けがされている、ということになります。

「action」は、ボタンをクリックしたときに実行される処理を示します。これも、実行するメソッドを関連付けてやります。ここでは、"#{page1Bean.button1_action}"という値が設定されていますね? これは、page1BeanというBeanクラスの、button1_actionメソッドを実行する、ということを示します。

この関連付け(バインディング)が、JSFを利用する上での重要なポイントになります。関連付けの書き方を、ここでしっかり覚えておきましょう。
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます