Strutsを使うWebアプリケーション構築術(7)
国際化対応アプリケーションの作成
山田祥寛
2004/7/31
Strutsを使ったWebアプリケーションの作成方法について説明してきた本連載も、いよいよ最終回となります。今回は、最後のテーマとして、前回「Validatorプラグインによる妥当性検証の実現(後編)」完成させた「書籍登録・更新アプリケーション」を国際化(i18n)対応させる方法を説明します。
|
国際化対応の必要性 |
昨今では、Webサイトを日本語/英語など複数の言語に対応させたいという要件は珍しいものではありません。最初は日本語だけのページでも、その後のビジネス展開によっては、後から複数の言語に対応したいという追加要望が上がってくることもあるでしょう。あるいは、最初は日本語/英語に対応していたものを、中国語/ドイツ語にも対応させたいというような状況もあるかもしれません。
このようなケースで、JSPファイルやアプリケーションコード、あるいは設定ファイルなどに言語固有の情報(例えば、項目名などの固定値)を直接記述(ハードコーディング)するのは好ましいことではありません。というのも、もしも後から英語対応のページを構築しようとした場合、コード中に日本語などが直接記述されていると、すべてのJSPファイルやアプリケーションコード、設定ファイルを表示させたい言語の数だけ多重化しなければならなくなってしまうからです。
さらに、こうした作業も大変なことには違いないのですが、「開発して、終わり」というアプリケーションならまだマシです。苦労するのは、開発中のわずかな間だけなのですから。しかし、多くのアプリケーションは、リリース後にも機能追加、改定やバグフィックスなどの修正が付きまといます。そのような場合にも、言語の数だけ多重化されたコードをすべて修正し、テストしなければならないとしたら、これはとても現実的な話ではありません。
そこで必要となるのが、アプリケーションの「国際化対応」なのです。アプリケーションを国際化対応させることで、このような多重化による問題を解決することができます。国際化対応を行うと、具体的には、以下のような日本語表記の画面があったとします。
![]() |
| 日本語表記の画面 |
上記の画面をブラウザの言語設定を変更して表示すると、以下のような英語表記に動的に切り替わって表示されるというものです。
![]() |
| 動的に切り替わった英語表記の画面 |
既存のアプリケーションを国際化対応させる場合、その作業は大きく2つのステップに分けることができます。
- 既存のアプリケーションから言語依存の要素を取り除く
- 言語依存の要素をメッセージリソースとしてまとめる
このステップを念頭に置いて、「書籍登録・更新アプリケーション」を例にアプリケーションの国際化対応をさせる手順を説明していきます。
|
JSPファイルから日本語を取り除く |
国際化対応の第一歩は、ユーザーインターフェイスであるJSPファイルから言語依存の要素を取り除くことです。まず、以下のように変更してJSPファイル内にハードコーディングされている日本語を取り除きます。なお、JSPファイルそのものの構造については、連載各回の解説を参照してください。
| BookView.jsp |
<%@ page contentType="text/html;charset=Windows-31J" %> |
| BookUpdate.jsp |
<%@ page contentType="text/html;charset=Windows-31J" %> |
注目してほしいのは、赤字で記述されたbean:message要素の部分です。
bean:message要素は、後述するメッセージリソースから指定された文字列を取り出し、ページ内に埋め込むためのものです。key属性には、メッセージリソース内の該当するメッセージキーを指定します。
例えば、
<bean:message key="books.header.author" /> |
という記述があった場合、リソースファイルで定義されたキー“books.header.author”に対応する値で、この部分が動的に置き換えられるというわけです。
国際化対応させるには、まず日本語部分をすべてこのbean:message要素で置き換えます。ただし、BookUpdate.jspのhtml:submit要素やhtml:reset要素など、value属性の値として日本語が埋め込まれている要素については、単純に属性値をbean:message要素で置き換えることはできません。これらの要素については、value属性を取り除いたうえで、bean:message要素をhtml:submit要素やhtml:reset要素配下のコンテンツとして指定します。
| 1/2 |
|
INDEX |
||
| 第7回 国際化対応アプリケーションの作成 | ||
| Page1 国際化対応の必要性 JSPファイルから日本語を取り除く |
||
| Page2 検証設定ファイルから日本語を取り除く 言語依存要素をメッセージリソースに集約する まとめ |
||
Strutsを使うWebアプリケーション構築術 バックナンバー
| 「Strutsを使うWebアプリケーション構築術」 |
TechTargetジャパン
- EclipseでScalaプログラミングを始めるための基礎 (2012/2/10)
概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します - 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


