はじめに
「Apache Struts」(以下、Struts)とは、サーバサイドJava開発のデファクトスタンダードとしてあまりにも有名な、オープンソースのWebアプリケーション・フレームワークです。本連載は実際に動作するアプリケーションをもとに、Strutsの次世代バージョンであるStruts 2を解説していきます。
第2回の本稿では、入力フォームをもつアプリケーションを作ってみましょう。ごく基本的なフォーム処理から始めて、カスタムタグの使い方、バリデーションという処理の仕組みを体得していきます。今回は「バリデーションの仕組みを理解する」の前編として、
- 基本の入力アプリケーション
- 基本のバリデーション
を説明します。 次回の後編では、
- バリデーションロジックを自前で記述する
- メッセージのローカライズ方法
という内容となる予定です。
前回の記事
対象読者
サーバサイドJava(JSP&サーブレット)について基本的なことは理解している方を対象とします。
基本のアプリケーション
まずベースとなるWebアプリケーションを示し、それに機能を追加していく形で説明していきます。ベースのアプリケーションは、次の図のようなかんたんな入力フォームを持つページと、確認ボタンのクリック後に入力値を表示するページとなります。ソースコードは前回作成したプロジェクト(HelloProject)に追加する形にしました。なお、今回も表示テンプレートはデフォルトのJSPを使用することにします。
サーバ上のファイル構成は以下のようになります。
<ContextRoot> ├ /WEB-INF │ ├ /classes │ │ ├ /part2 │ │ │ └ Research.class │ │ └ struts.xml │ ├ /lib │ └ web.xml ├ /part2 │ ├ research.jsp │ └ confirm.jsp └ index.jsp
画面遷移としては、次の図のようになります。
トップページのリンクから、Researchアクションが呼ばれ、research.jspの入力画面が表示されます。そして、確認ボタンをクリックしてsubmitすると、ResearchConfirmアクションが呼ばれ、confirm.jspの確認画面が表示されるという流れです。
では、ファイルを順に説明していきましょう。