struts - みる会図書館


検索対象: UNIX MAGAZINE 2003年10月号
11件見つかりました。

1. UNIX MAGAZINE 2003年10月号

連載 /JavaServer pages - ー・ 図 3 Struts 1.1 の struts-example のページ ファイルの編集 ( 印表示 ( 辺ジャンプ喞ブックマーり⑧ツール (1) ウインヘルフ凹 愛 M 記デモアフリケーション ( S 1.0 ー bl ) - Ne 協 0 叩色 Ma ⅱ Reader デモアプリケーションオプション →凵物 i 旧 a げモアプ丿ケーション G む蝋 s 1 止 b ー 、歹、ホーム ( 、検索角 & AOL うブッりマーり 図 4 Netscape 7 の設定ダイアログでプラウサの言語工竟を 言同ロ ロ オ諚 カテ衂 表丁 サホートフリケーション スマートブラウジングま インターネット幸 レ朝呻 0 & タウンロード レプライハシーとセキュリティ レ詳 オフラインとディスりスペース鑒 言語、 ・編ーベージ用ま語 疑 b べジで複の言語を利用 0 きる場合カ物ります。 W ページを表示する言語を羅番に設定して くた & 、 表示する語の序 英語い ] 日卞語 0 引 ・ M Re 己生 r 子モアブリケーション一ユ ・ M 詞 R - ー、モアリ ョン一口 Struts Powered by ーサ録 プラウサが日 : 吾竟なら日 : 脣吾でパする が日本語工竟のときは日本語て表示するようになっていま す。 ためしにプラウサの言語工竟を、 ・日本語 ・ロシア語 1 ・といいたいところてすが、ロシア語を知らない私には表カ訒しいの プリケーションを作る準備に進みましよう。 Struts 1.1 がインストールできたら、続いて Web ア Struts で作る Web アプリケーション のようにサンプルページがロシア語で表示されます 1 この設正で struts-example にアクセスすると、図 5 定した Netscape 7 の設疋ダイアログです。 図 4 は、ロシア語、英語、日本語という優先度順に設 る。 4. 、、文字コード " には標準で使用する文字コードを指定す 優先度順に並べる。 3. 、、 Web ページ用言語に、設正したい言語 ( 複数可 ) を 2. 、、カテゴリ " から、、 Navigator" の言語 " を選ぶ。 イアログか開く。 1. 、、編集 (E)" →設疋 ( E 厂メニューを選ぶと、設疋ダ 次の手順でプラウサの言語環境を指定できます。 に切り替えてみてください。たとえ tiNetscape 7 なら、 UNIX MAGAZINE 2003.10 かどうかさつばリう、リません。 嶝準文字コード 0 ーー = : ここ〕三 ] 図 5 ロシア語表示のサンカレベージ ファイルの編集 ( 印表示 ( 辺ジャンプ 0 カりマーグ印ツールウインドウヘルフ ( 印 〕Ⅱ M ロ H 0 T p ヨは月 0 H H 0 n p 月 0 第日 H 日・ T H レ 1 e n 0 T ( s 折 11 - d 一一 0 う 30P ⅡéMöH 丁に OHHO 「 0 い十を H いい・日 = 雪・院ア S truts Powered by ・ BOMTL'I l()K 3ape 「 MCTP14POBaHHblL4 r10f1b30BaTeJ1b ・「 MCTPL'1POBaTbCÄ AeMOHCTpaUL40HHOe rIl)L.•InoxeHL4e nOMTbI' 」、凪日 M 0 H 0 T P a は 0 H H 0 日 気岱ホーム検索新。 AO [ うカクマーク 111 それに含まれるファイルを石忍しておきましよう。 今回は、 struts-blank を利用して開発環境を準備し、 blank カⅦ意されています。 で Struts には、アフリケーションの雛型として struts- 手をつけれは・よいか迷ってしまうかもしれません。そこ イルを用意しなけれはならないので、はしめはどこから 1 つのページを作るために複数のフログラムや言影ファ を作る必要があります。 ファイル ・利用するタグライプラリやページの遷移を記述した設疋 ・出力のための JSP ファイル ・アクションを実装する Java のフログラム ・フォームの値を保存する JavaBean Struts を利用したアプリケーションを開発するには、

2. UNIX MAGAZINE 2003年10月号

JavaServer Pages 荒井美千子 Struts ( 3 ) Struts 1.1 今後は Struts 1.1 の流儀に従い、アクションを実装す 理を記述する。 ドの代わりに execute() メソッドにアクションの処 ・アクションを実装するクラスでは、 perform() メソッ フログラムに関連する注意点です。 ますは、前回までに紹介した Struts 1.0.2 のサンプル・ います。 不足していた機能や柔性に欠けていた部分が孑長されて Struts 1.1 は、基本的な信組みは 1.0 を踏襲しながら、 Struts 1.1 の変更点 といった事から、 Struts 1.1 を使用することにします。 らす、新たに 1.0.2 を入手するのは難しい この記事の執筆 . 点では Struts 1.1 しか配布されてお 対応している ・ Struts 1.1 の struts-bean タグライプラリは国際化に 予定でしたが、 から作成する小さなプログラムにもこのバージョンを使う ラムの解読には、 Struts 1.0.2 を使ってきました。今回 これまで、 Struts についての説明やサンフ。ル・フログ UNIX MAGAZINE 2003.10 のメッセージを扱えるようになった。 ・く bean:message 〉カスタムタグか川際化さ日本語 さらに、次のような機能が追加されています。 るクラスでは execute() メソッドを使います。 ・ Struts の成正ファイノレ struts-config. xml に、イ列タト が発生したときの処理方法を言当できるようになった。 」二記以外にも、 struts-config. xml の記述内容の一部が 変更されている。 ・ struts-bean 、 struts-html 、 struts-logic タグ ライプラリで定義しているカスタムタグの機能か拡張さ れた。 このほかにも変更点はありますが、それは必要なときに みていくことにします。まずは、 struts 1.1 のバイナリ・ パッケージを入手し、インストールしてください。 Struts 1.1 の入手 Struts 1.1 は、 Apache Software Foundation の Web サイトにある Jakarta フロジェクトのページから 入手できます。 ダウンロードのページのバイナリ・パッケージの一覧か ら、 ReIease Builds 版の Struts 1.1 を選んでくださ い ( 図 1 ) 。 リンクをクリックすると、 Struts 1.1 の、 ・卩版 RC (ReIease Candidate) 版 ・ Stable ReIease 版 がまとめて置かれたディレクトリが表示されます。 で、 StabIe Release 版である、 ・ jakarta-struts-l. 1. tar. gz ・ jakarta-struts-l. 1. zip のいすれかをダウンロードしてください ( 図 2 ) 。 109

3. UNIX MAGAZINE 2003年10月号

連載 /JavaServer pages ー - 図 14 日本語用リソースファイルで日本語メッセージを表示さ せたキ好・ ファイル編集表示 ( ) ジャンプブッりマーク ( 印ツール矼 ) ウインドワヘルフ旧 ) ホム検常向朝 [ ロブックマーク 熱烈歓迎 ! 5 レ u にの日 rk アプリケ、一ション - に・ pe 回ロ おこう。ちなみに行末にバックスラッシュを書くと継続行と見なされるので、長 て、ましめに訳したすとすぐにホロが出てしまうのて、適当なところてやめて 新しいアプリケーションを作るには、 struts ー blank 戦をコビーして・・・・・・なん 0 雪、了 いメッセージには便利かも。 したときは、リ胡学点ではプラウサ側の表示用工ンコーディ か表示されれば、期待どおりに動作しています。文字化け WEB-INF ディレクトリの下には次の設疋ファイルが の概要をお話ししておきましよう。 月後に、 wordgame アフリケー トヨ / イ . っ 設定ファイルの概要 ングを変えてみてください。 ションの叔疋ファイノレ ・ Struts の疋ファイノレである struts-config. xml ・ TLD ( タグライプラリ言当子 ) ファイル を参照しており、必要に応してこれらのファイルの内容 が読み込まれます。なお、上記の TLD ファイルには web. xml に設定がないものもあるので、使うときは確認 し、記述がなけれは追加してください。 struts-config. xml ファイノレは、 Struts のメインの設 定ファイルです。 Struts 1.0.2 から内容が一 - ー・部変わって いますが、今回は言物日には触れません。 残りの 3 つの *. xml ファイル、 は、 ・ tiles-defs. xml ・ validation. xml ・ validator-rules. xml はフラグインの疋ファイルで、 イルから参照されています。 ☆ struts-config. xml ファ あります。 ・ web. xml ・ struts-config. xml ・ tiles-defs. xml ・ validation. xml ・ validator-rules. xml ・ struts-bean. tld ・ struts-html.tld ・ struts-logic. tld ・ struts-nested. tld ・ struts-template. tld ・ struts-tiles. tld これらのうち、開発者がよく変史するのは次の ファイルです。 ・ web. xml ・ struts-config. xml 今回は、 Struts の去斤バージョンである Struts 1.1 に ついてお話ししました。 Struts 1.1 を使ってアプリケー ションを作成するために ・ Struts 1.1 のインストールカ 1 去 ・配布されているファイルの概要 ・ struts-blank をもとにしたアプリケー についても簡単に説明しました。 ションの芻隹型の 2 つの ほかのファイルは、基本的に内容を変更する必要はあり ません。 web. xml は上記の成正ファイル群の親玉にあたり、最 初に Tomcat によって読み込まれます。 web. xml 内で UNIX MAGAZINE 2003.10 さらに、 Struts 1.1 で追加されたメッセージの国際化 機能を使い、日本言韶 ) メッセージを表示させてみました。 次回からは、 wordgame アプリケーションを本格的に 作成していきます。 117 ( あらい・みちこ ASTEC)

4. UNIX MAGAZINE 2003年10月号

連載 /JavaServer Pages—@ 図 1 Jakarta プロジェクトのパイナリ・パッケージのタウン すべて $TOMCAT-HOME/webapps ディレクトリの ロード・′く一 " 、ン 下にコピーしてください ($TOMCAT-HOME は Tom- ~ 方イル ( E ) 編裏 ( 印表示 ) ジャンプゆプマーり⑧ツール任 ) ウインヘルプ cat をインストールしたディレクトリ ) 。この操作により、 人 / - , ホーム検常翁約いコプカマーク ロ 次の 8 個の *. war ファイルがコヒーされます。 望ー、 . 第 J 歌 3 を - 日を y [ 前め 0 ・ struts-blank. war ・ strtlts-documentation. war ・ struts-example. 、 ・ struts-exercise-taglib. war ・ struts-template. war ・ struts-upload. war ・ struts-validator. war ・ tiles-documentation. war すでに Struts 1.0.2 がインストールされている場合は、 最初の 6 個のファイルが重複します。トラブルを避ける ために、旧いファイルとそれらを展開して作成されたディ レクトリを削除 ( または移動 ) してから、新しいファイル をコピーしてください。 あとは Tomcat を起動すれは、 *. war ファイルが自動 的に $TOMCAT-HOME/webapps ディレクトリの下 に展開され、プラウザから参照できるようになります。 取に ・ http://ホスト名 :8080/struts-documentation/ ・ http://ホスト名 :8080/struts-example/ などを表示して動イ御寉認をしておきましよう。 私が Struts 1.1 をインストールし、仕上げの動作確 訒にとりかかったのは、脳味噌か腫眠を要求し始めた丑 三つ時でした。眠気に負けそうな脳味噌をなだめつつ、 struts-example にアクセスしてみます。私の固定観芯で は、、、 Tomcat も Struts も英語が当り前 " なので、表示 されたページ ( 図 3 ) に意表を衝かれました。 「あれえ、なんで日本語なんだろ ? 」 真っ先に考えたのは、間違えて日本語化された ( おそら く旧い ) バージョンをインストールしてしまったのではな いカ、という ことです。 これは正しい動作です。さきほど紹介したよう しつは、 に、 Struts 1.1 の struts-bean タグライプラリは国際化 されました。 struts-example はこれを利用し、プラウサ 新をを」・止い朝 - 日をいに 00 ェ舅こ - 扣 , 0 ? 伺ロ ReEease Builds. PrOducts Using a m ⅳ「 0 「 We recommend YO リし se a mi 価 0 「い download 「 「引 easeb 朝に 5. butyoumustvenfy'the ⅱ貰 eg ⅱⅣ Ofthe downloaded files し 5 ⅲ g 引 gnatures downloaded f 「 om ou 「山」山要にこに」しⅡ」二 NOt ou 「 builds are available throuQh mi 「「 0 http://jakarta.apache.org/site/binindex ・ cgi 図 2 Struts 1.1 のアーカイフのページ . 方イルの場業表〒 ( ) ジわプ 0 ブゆマーク⑧ツールウインめ物へフ旧 ) 0 ふ冫噬ポーム、複第・しロブッゆ k 自は代代守 1 , 1 - い : 23 酊 :. 09 - 五れ一 2003 16 : 51 33 Jakarta p 「 oject 」阯 : 物第に可舅 . l.. , 」二匹ん -4 塰 四 - J に 2003 17 : 00 16M Jaka 「 ta p 「 oject 新 09- J に 20D3 17 : 圓 226 朝 k 第 - を 3 ー「は当 - 1 . ト「 0 ? ・ p ・ as こ Jakarta p 「 Oj 日員 朝 5 し 1 ー「仁 2 , 09- Ju-, -2003 17 : 圓 33 Jaka 「 ta p 「 Oj ect 29- J リ 1-2003 23 : 26 16M Jakarta project ー動壗 , ・リに - 匚匚な第 . 3 マ 1 29- J げ广 2003 23 : 26 226 Jaka rta proj を 朝 3 は 3- 毆 ! 1 = は 1 . 1 . をは z. 飛 29- J ド 2003 23 : 26 33 Jakarta 0 「 0j3 を 29- J しれ -2003 23 : 36 16M Jakarta project 29- J 団 1-2003 23 : 36 226 Jakarta 0 「 Oj : t jakarta-struts-l. 1. tar. gz または jakarta-struts-l. 1. zip をダウン ロードする Struts 1.1 のインストール Struts 1.1 のインストール手順は、 1.0.2 の場合と同様 です。 ます、ダウンロードしたファイルを展開してください。 以下に示す 3 つのファイルと 3 つのディレクトリが得ら れます。 ・ INSTALL ・ LICENSE ・ README ・ contrib/ ・ lib/ ・ webapps/ contrib は Struts 1.0.2 にはなかったディレクトリで、 表現言語 (expression language) に対応した Struts の タグライプラリ struts-el か含まれています。 次に、 Struts の webapps ディレクトリのファイルを、 ー新第 d 一第をれ計 / にド 1 み / ツ 3 ′し•n らト 3 ー ! トい匚物 p 同ロ 110 UNIX MAGAZINE 2003.10

5. UNIX MAGAZINE 2003年10月号

連載 /JavaServer Pages— 図 7 index. jsp ファイルの内容 く logic :redirect forward="welcome"/> く %@ taglib uri="/tags/struts-logic" prefix="logic" By using a redirect , the user—agent will change address t0 match the path of our We1come Redirect default requests to We1come global ActionForward. G10ba1 Forward Definitions 図 8 global-forwards の言聢 (struts-config. xml ファイルの抜粋 ) ActionForward . く /global—forwards> path="/We1come . do"/> name="welcome' く forward Demonstrates using index. 」 sp tO forward Defau1t forward to "We1come" action ーー > く global—forwards> Action Mapp1ng Definitions path="/WeIcome" く action Forwards to We1come . JSP Defau1t "We1come" action く action—mappmgs> type=.org/ apache . struts . actions . ForwardAction' parameter="/pages/We1come . jsp"/> く /action¯mappings> は、ページのリダイレクトの指定です。 forward 属性に はリダイレクト先を設定しますが、 URL を直孑旨定する のではなく、 struts-config. xml ファイル内のフォワード 言立の、、名前 " て指定します。 リダイレクト先の指定 図 8 は、 struts-config. xml ファイル内のリダイレク UNIX MAGAZINE 2003.10 図 8 をみると、 、、パス " をみつけます。 を調べ、 <logic:redirect 〉のリダイレクト先に対応する く forward name=" 者則 " path="?€ス " / > Struts は、 global-forwards の、 トにかかわる部分の言当です。 く forward name="welcome' 113 換したページが表示されます。 の設疋に従って処理され、 /pages/Welcome. jsp" を変 parameter="/pages/We1come . j sp"/> ForwardAction" type=.org/ apache . struts . actions . : - path="/WeIcome" く action と判断されるので、 action-mappings の、 /Welcome. do は、拡張子 (. (o) から Struts のページ イレクトされます。 となっているので、 index. jsp は /Welcome. do" にリダ path=" /WeIcome . do"/>

6. UNIX MAGAZINE 2003年10月号

連載 /JavaServer pages 開発環境の準備 するとかならす作られるもので、気にしなくてもかまいま META-INF ディレクトリは *. war ファイルを展開 ・ pages/ ・ index. jsp ・ WEB-INF/ ・ META-INF/ ます。 レクトリの下に次のファイルとディレクトリが展開され コピー後に Tomcat を起動すると、 wordgame ディ $ cp struts—blank. war wordgame . war $ cd $TOMCAT_HOME/webapps game. war にします。 名が、、 wordgame" なら、コヒー後のファイル名は word- ン名でコピーしてください。たとえはアプリケーション ます、 struts-blank. war を作成したいアプリケーショ せん。 ・ Struts 本体とその他のライプラリ (). jar ファイル ) ・雛型として利用できる設定ファイルー式 WEB-INF ディレクトリには、 があります。 ・開発用の環境 ・リソースファイルの雛型 pages は JSP ファイルの置き場所として用意されて 続いて、 Web ページの構成と各ファイルの内容を確認 Welcome. jsp ' ファイルがありま しましよう。 す。 いるディレクトリで、 struts-blank の表示 図 6 は、 wordgame アフリケー の表示です。 このページの表小には、 ・ index. jsp ・ pages/Welcome. JSP 112 ションのトッフペー 図 6 struts-blank をコピーして作った wordgame アプ 基丿 S セリ日朝 1k 自 gp 朝 1 - Netscape Welcome! 」、 S リ協“・ plic 猷 目 3 ホーム、幸つ & OL 当プマ OO 0 0 0 ー一言。朝 .. ファイルの線集 ( 印表示 OØジャンプブックマーク ( 印ツールウインドウヘルフ但 ) リケーションの表示 ロ needed. 肥 st 印气 your container. and you are on your ノ (You can find auto—deploy the application. Edit the skeleton configunation flles as container ・ 5 webapp fO 旧 e 「 (oreq 」 ivalent). and let your container new WAR file using the narne for yourapplication. Place it in your TO get started on your own application. copy the struts—blank to a ・ http://tomcat:8080/wordgame/ プラウサが、 の 2 つのファイルが関しています。 http://ホスト名 :8()80/wordgame/ は雪 /WEa—lNF/src/ja 、 va/resources fo 旧 e 「 ) the application procerties file with this message in the く %@ taglib uri="/tags/struts—logic" , 1 行目の、 図 7 は index. jsp ファイルの内容です。 index ・ jsp pages/Welcome. jsp" の内容が表示されます。 Welcome ・ jsp/<—ジにリダイレクトします。結果として、 します。ところが、 index. jsp ファイルはアクセス要求を という設疋に従い、 ⅲ dex. .jsp ' ファイルを表示しようと く /welcome—file—list> く welcome—file>index. jsp く /welcome—file> く welcome—file—list> く ! ーー The Usua1 We1come Fi1e List . xml 内の、 のページにアクセスすると、 Tomcat は WEB-INF/web prefix="logic" % > UNIX MAGAZINE 2003 ユ 0 く logic :redirect forward="welcome"/> 2 行目の、 ます ( 誌面の都合ーヒ、て折り返しています。以下同様 ) 。 は、 struts-logic タグライプラリを使うことを亘暠してい

7. UNIX MAGAZINE 2003年10月号

連載 /JavaServer pages— 図 9 、 Velcome ・ jsp ファイルの内容 く %@ taglib uri="/tags/struts—bean" prefix="bean" % > く %@ taglib uri="/tags/struts—html" prefix="html" % > く %@ taglib uri="/tags/struts—logic" prefix="logic" % > く html :html locale="true"> く head> く title> く bean:message key="welcome. title"/> く /title> く html :base/> く /he ad> く body bgcolor="white"> く logic :notPresent name=.org ・ apache. struts . action. MESSAGE" scope="application"> く font color="red"> ERROR: App1ication resources not loaded logs for error messages ・ く /font> く /logic :notPresent> check servlet container く h3> く bean:message key="welcome . heading"/> く /h3> く p> く bean:message key="welcome . message"/> く /p> く /body> く /html : html> 、 VeIcome ・ JSP は、 HTML の <htrnl 〉タグに変換されます。このタグは 前回も登場しましたが、 locale 属・生は初めてなのて解説し 図 9 は、 pages/Welcome. jsp ファイルの内容です。 ておきましよう。 locale 属性が true のときは、プラウザ そのなかで、 JSP 専用の記述や Struts のカスタムタ の言語工竟に従ってく html 〉タグの lang 属性の値が設定 グは、 されます。たとえば、プラウサで日本語を優先している場 く %@ taglib ・ 合は、上記のタグは、 く /html : html> く html :html locale="true"> く bean:message key="welcome . title"/> く html lang= 勹 > く html : base/> く /logic :notpresent> く logic :notPresent に変換されます。 く bean:message key="welcome . heading"/> プラウサの言言境は、以下の <bean:message 〉で表 "welcome . messagel'/> く bean : message key= 示する言語にも景グします。 ですが、以前に紹介したものは簡単な解説にとどめます。 最初の 3 行は index. jsp でも登場した、使用するタグ く bean:message key="welcome . title"/> く bean:message key="welcome . heading"/> ライプラリの宣言です。 Welcome. jsp では、 く bean:message key="welcome . message"/> (bean:xxx あいにく、 struts-blank アフリケーションはメッセー ・くⅡ 11 : 工工工 ジ用のファイルを 1 つしかもっていません。したがって、 ・ logic:{l%l%l' プラウサの言語環境を変えても英言韶 ) メッセージしか表示 されませんが、のちほど日本語メッセージの表示ガ去を紹 の 3 不頁のカスタムタグに対応したタグライプラリを宣言 介します。 しています。 <html:base/ 〉は、く base 〉に対応するタグで、 word- 次の、 game の場合は次のように変換されます。 く html : html locale= ・く /html : html> 114 UNIX MAGAZINE 2003 ユ 0

8. UNIX MAGAZINE 2003年10月号

連載 JavaServer pages—@ 図 11 リソースファイルの言 (struts-config. xml ファイルの抜粋 ) Message Resources Definitions く message—resources parameter="resources. 図 12 変更前の application-ja ・ properties ファイルの内容 ( 抜粋 ) standard errors errors . header= く UL> errors . prefix= く LI> errors . suffix= く /LI> errors . footer= く /UL> validator errors . inva1id={0} is invalid . errors . maxIength={O} c 田 1 not be greater than { 1 } characters . errors . min1ength={O} can not be less than { 1 } characters . errors . range={O} is not in the range { 1 } through { 2 }. errors . genera1=The process did not complete . Details should f0110W. the application. properties file with this message in the /WEB¯工 NF/src/java/resources folder. ) configuration files as needed, restart your container, and you are on your way! (You can find = folder (orequivalent) , and let your container auto—deploy the application. Editthe skeleton , fiIe using the name for your application. P1ace it in your container' s "webapp' , welcome . message=To get started on your own applicatiorl' copy the struts¯blank. war tO a new WAR , welcome . heading=We1come ! welcome . tit1e=Struts B1ank App1ication welcome errors . token=Request could 豆 Ot be completed. Operation is not in sequence . ちなみに行末にパックスラッシュを書くと継続行と見なされるのて、長いメッセージには便利かも まじめに訳しだすとすぐにポロが出てしまうので、適当なところでやめておこう。 \ elcome. message = 新しいアプリケーションを作るには、 struts ー bla k. war をコピーして・・・ " なんて、 \ welcome. heading= 熱烈歓迎 ! welcome . tit1e=Struts の B1ank アプリケーション welcome 図 13 変更後の application-ja ・ properties ファイルの内容 G 友粋 ) WEB-INF/cIasses/resources/application-ja. properties になります。 日本語用リソースファイルを作る それでは、日本語用リソースファイルを作りましよう。 手順は次のとおりです。 1. デフォルトのリソースファイルをコピーする。 2. コピーしたリソースファイルの内容を日本語用のものに 変更する。 1 番目の手順では、 application. properties ファイル をコピーし、 application-ja ・ properties ファイルを 116 作ります。図 12 は変史前の application-ja ・ properties ファイルの一一都を抜粋したものです。 2 番目の手順では、 WeIcome. jsp ファイル内で参照し ている、 ・ welcome. title ・ welcome. heading ・、Ve1C0111e. のメッセージ文字列を日本語にします。今回は、図 13 の ように変更します。 こまでで、 Welcome. jsp のメッセージの国際化はい ちおう完了です。日本語環境に設定したプラウサで Wel- come. jsp を表示させてみましよう。図 14 のように日本語 UNIX MAGAZINE 2003 ユ 0

9. UNIX MAGAZINE 2003年10月号

連載 /JavaServer Pages—@ 図 10 リソースファイルがみつからなければ例外か発生する ] Apache T01 に / 41 24 ー Error p ロ - N 色に cape 方イル ( E ) 仮集 ( 印表示ジャンプ 0 ブマーク⑧ツール ( コウインドウヘルプ旧 ) ホーム検索計 92AOL 朝プめマーう 同ロ HTTP Status 500 ー Exception rep)t-t meGSa 0 iescri 一 .xce tion erro 「・ 0 th t r v 0 「 g. apac トに . 「 . JasperExcept i に Missing message fo 「 key にに員 itle ・ at 0 「 g. apache. jaspe 「 . servlet . JspServIetW 「 appe 「 . service(JspServlet at 0 「 g. apache. jasr-;e 「 . servlet.JspServIet.serviceJspFile(JscSe 「 vlet. 0 雪、ア pages/We1come . jsp"> く base href="http: //tomcat :8080/wordgame/=> 2. デフォルトのファイルとは別に日本語用のリソースファ イルを用意する の 2 通りがあります。 ッじ、 図 11 は wordgame の struts-config. xml の抜粋です。 ノレ内の message-resources 設疋で言当されています。 リソースファイルの場所は、 struts-config. xml ファイ リソースファイルの所在 しましよう。 リが国際化されたのを機に、 2 の力法で日本語表示を実現 どちらの方法も使えますが、 struts-bean タグライプラ 以タ ) 場合は英語で表示します。 は、プラウサが日本語工竟のときは日本語で表示し、それ 言語環境に関係なくつねに日本語て表示します。 2 の方法 く /logic :nötpresent> 最後のカスタムタ久 く logic :notPresent name= action . MESSAGE" org ・ apache . struts scope="application parameter 属性の値は、 ・ WEB-INF/cIasses からの相刈位置を示していますが、 表しているわけではありません。 これがそのままパスを は、 org.apache.struts.action. MESSAGE オプジェク トがないときに本体部分を実行し、エラーメッセージを表 示する記述です。ただ困ったことに、どのような状態のと きに logic:notPresent の条件カヾたされるのかは分かり ません。たとえは、ありがちな失敗として、 ・指定したキーに対応するメッセージが主されていない ・メッセージを言当主したリソースファイルがない ・成正ファイル内でリソースファイル窈旨定を誤った カげられますが、これらの場合には図 10 のような Java の例外カを E してしまい、エラーメッセージは表示されま せんでした。 メッセージの日本語表示 wordgame アフリケーションを作る最初の足掛かりと して、 WeIcome. jsp に日本語メッセージを表示してみま 日本語メッセージを表示する方法には、大別して、 1. デフォルトのリソースファイルの内容を日本語にする UNIX MAGAZINE 2003.10 たとえは図 11 では parameter 属性の値が、、 resources ・ application ' になっていますが、 は Java のノ、ツケ ージ名と同様にディレクトリの、、 / " に対応します。また、 リソースファイル名の末尾には拡張子、 . properties" が付 きます。 したがって、図 11 の例の場合、デフォルトのリソース WEB-INF/cIasses/resources/application. ファイルのパスは、 にします。この場合の言語 " は、各種言語を思味する ー「 = 1 ⅱロ・ properties ファイル名二・ は、ファイル名を、 特定の言語に対応したリソースファイルを用意するに です。 properties は図 11 の設定の場合、日本語用のリソースファイルのパ ja" や、、 ru " などのアルファベット 2 文字です。たとえ スは、 115

10. UNIX MAGAZINE 2003年10月号

—LMAGAZINE Contents 2003 / 10 特集 プログラマーが自宅で使う UN Ⅸ 36 XCAST6 1 1 8 中屋鋪恭子 し inux のインストール、ユーザー環境の設定 今井祐ニ、長尾寛行、佐藤純次 XCAST6 の概要、 FreeBSD 版と Linux 版の利用法 UNIX Communication Notes••••••山口英 NAT 、ウイルス、 SPAM PerI 活用のヒント 今津英世 relaytcp 旧 v6 の実装・・・・・・島慶ー 旧 v6 モビリティ プログラミング・テクニック・・・・・・多治見寿和 cate コマンド ( 3 ) JavaServer Pages ・・・・ " 荒井美千子 Struts ( 3 ) 文房具としての UN ー X ・・・・・・宮地利幸 日本語環境を構築する UN Ⅸ便利帖・・・・・・宮下健輔 Mac OS X で Emacs ( 2 ) ー P ルーティング・・・・・・小原泰弘 ールーティングの基礎 COVER, CONTENTS DESIGN ・ MORIYA, KAZUO (AUDREY THE DESIGN) ILLUSTRATION KANOKO 連載 5 2 6 9 6 7 8 9 新連載・ 1 135