先ほど書いた結婚式の際、久しぶりに前の会社の方々とお会いしたのですが、そこで最近私の部ログで技術のことが書かれていないというので、仕事に影響がない範囲で書きます。
で、タイトルどおり今更なのですが、最近Struts2でアプリケーションを開発しています。
まだまだStrutsで開発しているところが多いかと思いますが、StrutsとStruts2では多少実装や設定方法が異なります。
実装していてポイントとなるようなところをつらつらと書いていきます。
が、あくまで自分の開発したものではこのように動いただけなので、その他の設定方法や正しい動き方をきちんと理解したい方はStruts2のドキュメントを参照してください。
まず最初にActionですが、Struts2ではxworkというライブラリ(パッケージ)が提供されており、その中にあるActionSupportを利用します。
でもって今まではHttpServletRequestやResponse, Sessionはexecuteなどの引数で取得しますが、これも変更されており、ActionSupportを継承したクラスで幾つかのインターフェースを実装することでこれらのリクエストやレスポンスを扱うことができます。
(実装するインターフェースの詳細についてはドキュメントを参照してください)
次にActionの設定なのですが、XMLでよく見るnamespaceの考えを取り入れています。
今まではActionのパスを自分でひとつひとつ書いていかなければならず、グルーピングなどを行うのは自前だったのですが、これをnamespaceを取り入れることで、グルーピングを容易に行うことが可能です。
また、Actionの設定自体も継承できるようになっております。これはtilesとかでもやれますよね。
Actionの設定ファイルは今までは/WEB-INF/以下に置いたりしてweb.xmlにてファイルパスを書いていたのですが、Struts2ではクラスパスのルート上にstruts.xmlファイルとして設定し、これをweb.xmlに設定したStruts2のフィルターが解析します
1ファイルだと設定量が多くなると読みづらくなるので、もちろんファイル分割をしてインクルードすることもできます。
あと、Struts2の稼動設定(文字コードやメッセージリソースファイル名など)もこのstruts.xmlに記述できます。
今回は力が尽きたのでここまでにして、具体的な実装や設定ファイルの記述などは次回書きます。(多分...)
