検索
連載

JavaBeansを使いこなすための2つのタグやり直し「JSPとTomcat」(10)(1/2 ページ)

Javaを途中までかじったが挫折した。やはりJavaプログラマにスキルチェンジしたい! という読者のために、Tomcatの最新バージョンを使いながらJSPを基礎から解説していく。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

JavaBeansのプロパティを取り出すgetPropertyタグ

 前回は、Javaクラスのインスタンスを生成するJSP標準アクション、<jsp:useBean>タグの使い方を説明しました。今回は、同タグと併せてJavaBeansの活用に欠かせない標準アクションであるgetProperty>タグと<jsp:setProperty>タグの機能を解説します。

 まずは、<jsp:getProperty>タグです。同タグは、JavaBeansのプロパティから値を読み出し、Webブラウザ上に文字列として表示します。以下の要領で記述します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 この場合、属性nameで指定したスクリプティング変数が指すJavaBeansについて、属性propertyで指定したプロパティの値を取得し、Webブラウザに表示します。

 では、このタグの機能を実際にTomcat上で試してみましょう。最初に、対象となるJavaBeansクラスを以下のように作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 このJavaBeansは、「userId」および「userName」という2つのプロパティを持ち、それぞれについてgetterメソッドsetterメソッドを備えています。

編集部注:JavaBeansgetterメソッドsetterメソッドについて詳しく知りたい読者は、本連載第8回の「カプセル化するとインスタンス変数は賢くなる」をご参照ください。

 続いて、以下の手順を実行します。

  • JavaBeansクラスをコンパイルする
  • Tomcatの/webapps/ROOT/WEB-INFディレクトリに「/classes/sample」ディレクトリを作成し、コンパイルで得られたクラスファイル「User.class」を配置する

 この手順により、JavaBeansをJSPページから呼び出す準備が整いました。なお、こうしたクラスファイルの配置位置などについて詳しくは、今後の連載で説明する予定です。

 では、JavaBeansを利用するJSPページを作成しましょう。Tomcatの/webapps/ROOTディレクトリに、以下の内容のJSPファイル「test.jsp」を作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 ここでは、冒頭の<jsp:useBean>タグでは、クラス名「sample.User」で指定したJavaBeansのインスタンスを生成し、スクリプティング変数「user」にセットしています。なお、scope属性は未指定であるため、デフォルトのpageスコープが選択されます。

 続いて、後半の<jsp:getProperty>タグでは、変数userにセットされたJavaBeansより、プロパティ「userId」の値を取得してWebブラウザに出力しています。

 Tomcatを起動し、Webブラウザにて「http://localhost:8080/test.jsp」というURLを開くと、以下のような内容が表示されます。

図1 test.jspの表示結果
図1 test.jspの表示結果

 このように、userIdプロパティおよびuserNameプロパティの初期値である「<未設定>」という文字列がそれぞれ表示されているのが分かります。

 ちなみに、今回の例では、いずれのプロパティもString型ですので、setterメソッドが返す文字列がそのままWebブラウザに表示されます。

 もし、プロパティがString型以外(例えば、Date型)であった場合、<jsp:getProperty>タグでは、戻り値のオブジェクトに対して「toStringメソッド」を呼び出し、オブジェクトを文字列に変換します。プリミティブ型の場合は、その値をそのまま文字列に変換します。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る