連載 . /JavaServer Pages—O 図 13 forEach タグを使った JSP ページ (foreach ・ jsp) く %@ page contentType="text/htm1 ; charset=EUC—JP" % > く %@ taglib prefix="c" uri="http://java.sun. com/jstl/core" % > く !DOCTYPE HTML PUBLIC "—//W3C//DTD HTML 4 . 0 Transitiona1//EN"> く html> く head> く meta http—equiv="Content—Type " content="text/html ; charset=EUC¯JP"> く tit1e>JSTL く /title> く /head> く body> く c : forEach var=" countl' begin="O" end= く c :out value="${count + 1}" / > く /c : forEach> く /body> く /html > しよう。 のカウンタ値の初期値と最終値を指定します。 var 属生に 性と end 属性にはそれぞれ、区し処理を開始するとき 図の forEach タグには 3 つの属性があります。 begin 属 図 13 は forEach タグを使った JSP ページの例です。 く /c : forEach> Each の終了タ久 してカウンタ値を 1 すっ増やし、 9 を超えるまで f 。 r は、カウンタ変数、、 c 。 unt " にます、、 0 " を設定します。そ く c : forEach var="count" begin='lO" end="9"> つまり、 は、カウンタ値を設定する変数の名前を指定します。 は、 count 変数に設定されている値に 1 を加えた値を出力 ${count + 1} して角眷尺します。 を Web プラウサに出力しますが、 $ {... } の部分は式と 定義されている才別長タグです。このタグは value 属生の値 の out タグは、やはり JSTL の core タグライプラリで く c : out value="${count + 1}" / > forEach タグの本体、 とのあいだに囲まれた本体の部分の処理を繰り返します。 第ミドキュメント : 完了 0 能物 図 14 foreach. jsp ページの表示 ファイル ) 集 ( 印表示強索箋 ) ジャンフフッりマーク ( 印タスク (D へ丿にせ 、ホーム検索ロブッ欠ーグミル物齢“き、筆著、おを助、メットズ 1 2 3 4 5 6 7 8 9 10 お丁 l_ ー、 3 こ印ら 言回 します。 図 14 に す。 foreach ・ jsp"/<—ジの表示結果を示しま ☆ UNIX MAGAZINE 2002.8 JSP の重要な機能の 1 つであるタグライプラリを紹介 しました。タグライプラリは、独自に作成した拡張タグ をライプラリとして使えるようにするものです。今回は、 JSP Standard Tag Library と呼はれるタグライプラリ から、 ・ fmt タグライプラリ formatNumber タグ ・ core タグライプラリ if タグ forEach タグ out タグ をとりあげ、それらを使った例を紹介しました。 また、タグライプラリを利用するときに必要な手順、 1. JAR ファイルのインストール 2. TLD ファイルのインストール 3. web. xml へのタグライプラリの言己の追加 について説明し、 JSP ページに言する taglib ディレク テイプと刻長タグの例を紹介しました。 次回もタグライプラリの話題をとりあげます。 ( あらい・みちこ ASTEC) 121
連載 /JavaServer Pages—O 図 10 core タグライプラリの記述を追加した web. xml ファイル く ?xml versxon="l . 0 " e Ⅱ codi Ⅱ g = " 工 SO ー 8859 ー 1 ” ? > く ! DOCTYPE web—app PUBLIC "—//Sun Microsystems , lnc. //DTD Web App1ication 2.3//EN" "http://java.sun.com/dtd/web—app-2—3.dtd"> く web-app> く taglib> く taglib—uri>http://java.sun.com/jstl/fmt く /taglib—uri> く tag1ib—10cation>/WEB—INF/t1d/fmt . tld く /taglib—location> く /taglib> く taglib> く taglib—uri>http://java.sun.com/jstl/core く /taglib—uri> く tag1ib-10cation>/WEB-INF/t1d/c. tld く /taglib—location> く /taglib> く /web—app> 図 11 if タグを吏った JSPR—ジ ()f ・ jsp) く %@ page contentType="text/htmI ; charset=EUC—JP" % > く %@ taglib prefix="c" uri="http://java.sun.com/jstl/core" % > く ! DOCTYPE HTML PUBLIC "—//W3C//DTD HTML 4 . 0 Transitiona1//EN"> く五 tm1 > く head> く meta http—equiv="Content—Type" content="text/html ; charset=EUC—JP"> く tit1e>JSTL く /title> く /head> く body> く c :if test="true"> こは表示されます。 く /c:if> く c:if test="false"> こは表示されません。 く /c:if> く /body> く /html> taglib ディレクテイプで指定した接頭辞の文字列です。 例を見てみましよう。図 11 は、 if タグを使った JSP ページです。 1 つ目の if タ久 く c:if test="true"> こは表示されます。 く /c:if> は、、 test " 属性の値がつねに、、 true" なので、タグの本体 が実行され、「ここは表示されます。」と表示されます。 方、 2 つ目の if タグは条件式がつねに、、 false" なので、タ グの本体は実行されません。 図 12 は、図 11 の、、 if. jsp " ページの表示結果です。 120 図 12 if. jsp ページの新 を方イル ) 編集 ) 示 OØ強ネジャンフフマーり旧 ) タスク (D ヘルプせ 馮鼓 - Ne 修 0 叩を 6 ホ検索秀大つ、、新等、お forEach タグ 第醪、ト : 発 704 こは表示されます。 メトを 第新、貧を当線第 図 11 では、 if タグの test 属性カ個定値でしたが、属 もう 1 つ、 JSTL タグで式を使った簡単な例をみてみま するガ去の田は次回以降で紹介していきますが、麦に 性値として式を指定することもできます。属性に式を指定 UNIX MAGAZINE 2002.8
連載 JavaServer Pages—O うか。次に、 JSTL の別のタグライプラリを使ってみま グの本体の部分を実行します。 if タグのもっとも屯な形 JSTL の if タグは、指定した条件を満たすときだけタ if タク ルの言当です。 の設定を j 助日します。図 10 は追加後の web. xml ファイ 最後に、 WEB-INF/web. xml に core タグライプラリ してください。 ケーションの WEB-INF/tld ディレクトリの下にコピー こでは c. tld を使うので、このファイルを JSP アプリ 装していますが、タグの使い方にすこし違いがあります。 の 2 不頁が用意されています。これらは同じ長タグを実 ・ c-rt. tld ・ c. tld して、 JSTL に (文 core タグライプラリの TLD ファイルと ようにして TLD ファイルをインストールします。 でに JAR ファイルをインストールしてあるのなら、次の タグライプラリと同し jstl.jar と standard. jar です。す core タグライプラリを実装した JAR ファイルは、 fmt リのときと同じ手順て準備をします。 core タグライプラリを使うときは、 fmt タグライプラ core タグライフラリの準備 処理など、核となる基本的な機能も提供しています。 また、リダイレクトのように Web ページを切り替える 能を用意しています。 理など、 HTML のタグや JSP のアクションにはない機 JSTL の core タグライプラリは、条件判定や区し処 core タクライプラリ UNIX MAGAZINE 2002.8 内容か、表示されます。なお、 name は JSP ページ内の e 几 ss れてオ旨定した条件式が、、 true" なら、 く / れ佖 7 e : if> 60a リ くれ 07 〃 e : if test = ” e 工〃 7 ℃ SS を 0 れ " > 式は次のようなものです。 わリの ASCII 好評発売中 ! インターネットの 起源 Where W 貶 a 、 5 ね y up [ 0 The Origins of The lnternet ・ Katie Hafnen Matthew Lyon 著 ・加地永都子、道田豪訳 ・ A5 判、 336 ページ ・ ISBN 4-7561-3479-3 ・本体 2 , 500 円 + 税 誤った“常識”を覆し、創設に携わった人びとの肉声を あますところなく伝える貴重な証言集 目次から 即断即決で 100 万ドル / 大聖堂を建てたのは誰か / 第 3 の 大学 / プログラムと格闘する日々 / トウルート宛必着 / ハッ キングと喧噪と / 電子メール / 手にしたロケット 参考文献、索引 Java プログラミング・ノート 国際化と 日本語処理 CAFE BABE ・風間一洋著 ・ A5 判、 312 ページ ・ ISBN 4-7561-3481-5 ・本体 3 , 000 円十税 Java による日本語処理、さらには国際化プログラミング に必須の知識を数多くのサンカいプログラムを示し ながら平易に解説する。真の意味での "Write Once, Run Anywhere" を目指すプログラマーに最適の 1 冊。 目次から Java はどんな言語か / 国際化と地域化 / Unicode / ロケー ル / 工ンコーティング / タイムゾーン / リソースパンドル / フォ ーマット出力と解析 / 文字列の比較 / テキストの境界解析 / インブットメソッド / 文字の表示 付録 : Unicode プロック / ロケール一覧 / 工ンコーティング名 一覧 / タイムゾーン D 一覧 / ユーロ通貨記号への対応 株式会社アスキー 〒 1 5 1 ー 8024 東京都渋谷区代々木 4 ー 33 ー 1 0 出版営業部 電話 (08) 5351 ー 8194 119