ファイヤープロジェクト
Struts
StrutsはJakartaプロジェクトで開発されたServletプログラムのフレームワークである.こいつを使用すると,Servletを書かなく済んだり,多言語対応が楽になったりといろいろ嬉しいらしい.
Strutsを使用したプログラムを作成するための環境を準備する.大半が必須ではなく,むしろTomcatやApacheの設定に関するものだが,実際に稼働させる際には「あったらいいな」というものなので,ここで書いておく.
2003-07-20T15:13+09:00   matsu
TomcatはJakartaのサーブレットエンジンである.Debian環境では他の環境とちょっと勝手が違うので,メモしておく.
2003-07-20T15:13+09:00   matsu
Strutsはバイナリでもあるんだけど,なんとなくソースから構築をこころみた.が,JDBCのライブラリがないとビルドに失敗する.で,断念.で,Jakartaからバイナリを落す.
StrutsはMVCモデルに基づいて設計されている.多くの場合ViewはJSPで作成し,ControllerはServletであり,Modelは通常のJavaと同様(EJBとかが出て来ることもあって「通常」ではないことも多い気もするが)である.StrutsはこのMVCモデルを採用することで,より汎用的で効率的な開発を可能とするフレームワークである.で,簡単なWebアプリケーションの作成を通してStruts(1.0.2)を使用した開発に触れてみた.
2003-07-20T15:13+09:00   matsu
ここではStrutsを使用したプログラムの構成を説明し,「しなければならないこと」と「しなくてもよいこと」を明らかにする.StrutsはMVCモデルに基づいて設計されたフレームワークである.ほとんどのWebアプリケーションで「仕組み」を共通化できるのは,View,Controller,そしてModel部の入口までの「連係」である.そしてその連係の中心となるController(Servlet)のコーディングが一番厄介だったりする.Strutsの「守備範囲」はそのControllerが中心であり,そのControllerがうまく機能するように,ViewとModelでいくつかの機能を提供する.
2003-07-20T15:13+09:00   matsu
struts-config.xmlはStrutsを使用したWebアプリケーションの中心となる設定ファイルである.というは,StrutsではServletをまったくコーディングする必要はなく,Strutsが提供するServletを使用するが,そのServletの設定をstruts-config.xmlで行うのである.
2003-07-20T15:13+09:00   matsu
モデル部を作成してstruts-config.xmlの作成が終れば,あとは比較的機会的な作業となる.とくにActionFormBeanはstruts-1.1.xからは作成せずにstruts-config.xmlの編集で済む(DynaFormBean)程単純な作業である.
2003-07-20T15:13+09:00   matsu
Actionでは,ActionFormBeanのデータを受け取って,それに応じた処理をし,そして次ぎのURIへForwardするのが役目である.
2003-07-20T15:13+09:00   matsu
Strutsでは,Strutsで提供されているtaglibを十分に活用してjspを作成すると,開発効率がよくなるかもしれない.
2003-07-20T15:13+09:00   matsu
今回もantを使用してサンプルを開発した.その概要を説明する.サンプルのソースもこのページを参照すればできるハズ.
taglibは慣れないとなんだか意味不明だが,なれるとJSPが見やすくなるかもしれない.気合いしだいで,スクリプトを全く使用しないJSPができたりする.ここではStrutsのカスタムタグライブラリbean,html,logic,templateの主なものを使ってみる.
2003-07-20T15:13+09:00   matsu
beanタグライブラリはstruts-bean.tldに定義されている.こいつを使用すると,sessionにあるbeanなどから値を取り出せたりする.
Struts(1.1)の応用的な話題を取り上げてみたいと思う.
2004-05-23T15:30+09:00   matsu
場合によってはアクションからアクションにフォワードしたい場合がある.で,この際にrequestスコープのActionFormがどうなるかというのを,はっきりさせてみた.なお,ここではStruts-1.1で実験した.Struts-1.0.2とは動きが割と異なるようなので注意.
2004-06-16T23:30+09:00   matsu
一つのformで複数の操作ボタンを設置し,一つのアクションで受けるには,「どのボタンが押されたのか?」に基づいて処理する必要がある.Strutsにはこのようなパターンを想定したActionのサブクラスがある.
matsu(C)
Since 2002
Mail to matsu