Java入門ガイド

13.エクリプスでStruts(ストラッツ)入門

当コーナーはJavaの基本的な事項を紹介していくものです。

Struts(ストラッツ)とは

Strutsとは分かり易く言うとWebアプリケーショ ンを簡単に作成するためのソフトウェアです。Strutsを導入すると基本的な機能があらかじめ実装されているため、開発期間を短縮することが出来ます。

Strutsの特徴

Strutsの特徴として以下の点があります。

  • 無 償(無料)である。
  • オープンソースである。
  • Webアプリケーションの開発期間が短縮できる。
  • フレームワークとしてメジャーである。

 

Strutsのダウンロードとインストール

Strutsのダウンロード

SStrutsを使うにあたり、Apache Software Foundationからソフトウェアである、Strutsを入手する必要があります。最新のソフトウェアは http://struts.apache.org/download.cgiか らダウンロード出来ます。
今回はver.1.3.1を利用してみます。struts.apache.org/download.cgiという画面に遷移しますので、そこからstruts-1.3.10-apps.zipをダウンロードしましょう。
Strutsのインストール
struts-1.3.10-apps.zipを 展開するとstruts-1.3.10というフォルダが出来ます。その中のwebappsフォ ルダの下にstruts-examples-1.3.10.warというwarファ イルがあります。そのファイルだけをTomcatをインストールしたフォルダの中のwebappsフォ ルダにコピーします。Tomcatを起動して、http://localhost:8080/struts-examples-1.3.10/に アクセスします。次のような画面が出たらインストールは終了です。

struts_install

Struts動作

Sampleのインストール

先ほど展開して出来たstruts-1.3.10というフォルダの中のwebappsフォ ルダの下にstruts-blank-1.3.10.warというファイルが入っています。このファイル は、Strutsを使用する時に必要なファイルが含まれた、warファイルです。このファイ ルを使って、簡単なWebアプリケーションを作成します。
まず、eclipseで新規にTomcatプロジェクトを作ります。ここではstruts-testという名前で作ります。次に、warファイルを解凍し ます。(解凍出来ない方は拡張子warをzipにして解凍してください。)
解凍して出来たフォルダstruts-blank-1.3.10の中のpagesフォルダ、WEB-INFフォルダとindex.jspを先ほど作ったプロジェクトに上書きします。
そして、Tomcatを起動した後にブラウザで http://localhost:8080/struts-testと入力してください。下記の画面が 出てきたら成功です。

struts_sample

簡単な足し算プログラムの作成

それでは準備が整いましたので、これから足し算をするwebアプリケーションを作成します。
最初に、struts-test/WEB-INF/libの中にあるファイル全ての パスを通します。 プロジェクトを右クリック>「ビルド・パス」→「ビルド・パスの構成」を選択します。 「ライブラリ」タブから「JARの追加」ボタンをクリックします。 struts-test/WEB-INF/libの中にあるファイル全てを選択し、「OK」ボタンをクリックします。
これでパスが通りました。
次に、足し算の値を入力するjsp(addition.jsp)と結果を表示するjsp(result.jsp)を作ります。
作成したファイルはプロジェクトの直下に入れます。

addition.jsp

result.jsp

次に、入力された値を保持するActionFormクラスと実際の足し算をするActionクラスを作ります。作成したファイルはWEB-INF/src にstrutsというパッケージを作ってその中に入れます。

TestActionForm.java

TestAction.java

次に、メッセージを置くプロパティファイルを作成します。このファイルはデフォルトで配置されているので、MessageResources.propertiesをコピーし下記の3項目を追記してください。
追記後、作成したファイルを上書きします。
場所はWEB-INF/srcのjavaパッケージの中です。

MessageResources.properties

msg.title=足し算プログラム
msg.answer=答えは
msg.desu=です。

最後に、今まで作ったものを紐付けるstruts-configを作成します。このファイル はデフォルトで配置されているので、そのファイルに作成したファイルを上書きします。場所はWEB-INFの直 下です。

struts-config.xml

 

ファイルの配置は以下のようになります。

struts_eclipse

実行する

http://localhost:8080/struts-test/addition.jspにアクセスして,数値を入れて実行ボタンを押すと画面が 切り替わり結果を表示します。

足し算する値を入力。

struts_addition

結果を表示。

struts_result

入力チェックを行う

ここまでで足し算プログラムは完成していますが、入力フォームが空欄のままであったり、入力フォームに数字以外の文字をいれたりしても計算処理を行ってしまいます。
そこでStrutsに用意されているValidatorを利用すると、入力項目の値が適切かどうかチェックを行うことができます。
Validatorを利用するにはValidatorFormをActionFromのスーパークラスにする必要があります。

TestValidatorForm.java

TestValidatorAction.java

 

次にvalidation.xmlの設定を行います。
このファイルはデフォルトで配置されているので、そのファイルに作成したファイルを上書きします。場所はWEB-INF直下です。

validation.xml

合わせてstruts-config.xmlの設定も変更します。

struts-config.xml

MessageResources.properties

エラー時に表示されるメッセージをMessageResources.propertiesに追加します。(もとの情報は消さないで下さい。)
errors.required={0} is required.を書き換えてください。

msg.title=足し算プログラム
msg.answer=答えは
msg.desu=です。
errors.figureRequired=数字を入力してください。
errors.notFigure=入力できるのは数字のみです。

最後に、addition.jspにエラーメッセージの表示処理を実装します。

addition.jsp

 

http://localhost:8080/struts-test/addition.jspにアクセスして、入力欄が空欄または数値以外の文字を入れて実行ボタンを押すとエラーメッセージが表示されます。

数字以外の文字を入力。

struts_validation

エラーメッセージを表示。

struts_validation_error

これで簡単な足し算プログラム作成を終わります。

Java入門セミナーではStrutsを利用して本格的なアプリケーション作成もおこなっています。 未経験者も、もちろん独学からエンジニアを目指す方の役に立つ知識を吸収できます。