エンタープライズ:特集 2003/10/06 18:00:00 更新


特集:第1回 フレームワーク「Struts」の基礎を知る (8/8)

 Strutsは、標準で国際化対応されており、アクセスしたクライアントのロケール情報(Accept-Languageヘッダ)によって、利用する「application.properties」ファイルを切り替える機能が備わっている。具体的には、application_XX.properties(XXはロケールの名前)を用意すると、その切り替えが行われる。たとえば日本語(ロケールja)用のリソースを用意するには、application_ja.propertiesというファイルを用意すればよい。ユーザーが日本語を要求してきた場合には(日本語版のWebブラウザを使っている場合には、明示的に指定しなくても、標準でロケールがjaになっている)、application_ja.propertiesが、それ以外の場合には、application.propertiesファイルが利用され、自動的に言語切り替えが可能となる。

One Point:
application.propertiesファイル(application_XX.propertiesファイル)は、UNICODEで記述しなければならない。UNICODEに変換するには、javaに付属のnative2asciiコマンドを使うとよい。

 結局のところ、まとめると雛形の処理は、Fig.7のようにして実行される。

fig07.gif

Fig.7■雛形が実行される仕組み


 Fig.7で注意したいのが、「リダイレクト」と「フォワード」の違いだ。リダイレクトとフォワードという用語は、StrutsでWebアプリケーションを作る場合、ひんぱんに出てくるものだ。リダイレクトは、クライアントにいちど処理を返し、クライアントがそのURLを再要求する。それに対してフォワードは、クライアントに処理を返さず、サーバー内で別のファイルでの処理(多くの場合はJSPファイル)に移すことだ。

 リダイレクトの場合には、クライアントに制御が戻るため、クライアントのWebブラウザのURL欄が変わる。つまり、Fig.7の「4.」の個所では、WebブラウザのURL欄が「Welcome.do」に変化することになる。それに対して、「5.」はフォワードなので、WebブラウザのURL欄は「Welcome.jsp」に変わらない。つまりユーザーは、内部でWelcome.jspが実行されているようには見えず、Welcome.doの結果が返ってきているように見えるのだ。

トップページの変更

 雛形の動作が分かったところで、第2回目で作成する掲示板に備え、トップページとなるindex.jspファイルを変更しておこう。今回題材とする掲示板では、「投稿ページ」と「投稿を参照するページ」の2つの機能を用意したい。そこで、index.jspファイルをList 4のように変更する。

List 4■変更したindex.jspファイル
1: <%@ page contentType="text/html; charset=EUC_JP" %>
2: <html>
3: <body>
4: <div align="center">
5: <h1>掲示板</h1>
6: <p>
7: <a href="keijiwrite.jsp">書き込み</a>
8: <a href="Read.do">読み込み</a>
9: </p>
10: </div>
11: </body>
12: </html>

 ここでは、投稿を書き込むページとしてkeijiwrite.jspファイルへのリンク、投稿を読み込むページとしてRead.doというリンクを用意した(Fig.8)。

fig08.gif

Fig.8■変更したトップページ


 次回は、

  • keijiwrite.jsp

 掲示板への投稿を入力するための入力フォーム。そして入力フォームに入力された内容を受け取りデータベースに書き込むプログラム。

  • Read.do

 データベースから投稿を読み込んで、ユーザーに一覧形式で表示するプログラム。

を、それぞれ実装していこう。

関連記事
▼オープンソースで作るJava+DB
▼Tomcatで知るJSP/サーブレットの基礎

関連リンク
▼Java チャンネル

前のページ | 1 2 3 4 5 6 7 8 |      

[大澤文孝,ITmedia]