Struts

Last-modified: 2008-05-16 (金) 15:54:02

Web用のフレームワーク。
Javaのフレームワークでは結構有名なやつ。
プラグインをインストールしてEclipseで編集できる。

サーブレットコンテナが必要。(Tomcatとか。)

 

参考
インストール編
Strutsを使うWebアプリケーション構築術
 @ITの連載。

javaでHello World Struts編

Struts への道のり
 J2SE・Tomcat・Eclipse・StrutsのDL先のリンクがある。

eclipse3.1 sturts1.2による開発準備。
 これもEclipseを使ったインストール・実行方法。

【連載】はじめてのStruts
 Strutsの仕組みから基本的な使い方までを一通り解説している。

 

Eclipse関係
HelloWebアプリケーション
 EclipseにTomcatプラグインをインストールする方法。設定。簡単なサーブレットのテスト。

EclipseでHello Struts
 EclipseでのStrutsの使い方の説明。インストールからとりあえずの起動まで。

 

その他
エラーメッセージから学ぶ Struts の基本
 Strutsの基本的な使い方を懇切丁寧に説明している。
 ほんとに一から十までおんぶに抱っこかと言わんばかりに丁寧。
 ただ一つ思うところは、重い。

The Jakarta Project
 Strutsの本家?の日本語版。
 タグ(Bean・HTML・Logic・Template)のAPIとドキュメントがあるのでStrutsの基本を学んだら見るべし。

StrutsによるWebアプリケーション開発
 Strutsの仕組み、使い方、タグの一覧がある。本家ほど詳しくは無いが見やすい。

Struts -TECHSCORE-
 一応Strutsの仕組みや簡単な使い方を説明しているが、注目すべきはタグの詳細な考察であろう。
 サンプルも併記してあるのでタグの使い方を調べたいときはここで決まりだねっ!

Sub Application機能の使い方
 Strutsの機能のひとつ、《Sub Application》の説明。
 Strutsがとりあえず理解できたなら難しいことじゃない。

Strutsメモ8
 いくつかTIPS的なものが書いてあるけど、私は最下部の「struts-config.xmlの分割」を参照してますた。

 

JSPのコーディング
 Strutsとは違うがJSPのタグの一覧がちょっとだけ見物。

 

 

以下、個人的メモ。
 MVC対応表

ModelViewController
フォームBeanフォーム(.JSP)Aciotnクラス
 

用語解説
フォームBeanとは
 ただただ単純に、setter,getterを記述したJavaのクラスファイル。
 フォーム(入力画面)で入力した値を格納する。
 フォームBeanはActionFormクラスをextendsしたクラスで無ければならない。
 また、フォームで定義したプロパティと同じ名前のsetter,getterを作成しなければならない。
 例:

public class LoginAction extends ActionForm{
  private String ID;
  //getter
  public String getID(){
    return ID;
  }
  //setter
  public void setID(String id){
    this.ID = id;
  }
}
 

フォームとは
 MVCのV部分。JSPで記述。
 例:

<%@ page contentType="text/html; charset=Windows-31J" %>
//↓*3はStrutsのタグを使用するために必要。
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html>
    <html:form action="/login">   // submitを押した時に呼ばれるアクション名。
                                     struts-config.xmlに記述されている。
         <html:text property="ID"/>  // フォームのID入力用テキストフィールド。
                                        ここで定義した名前でフォームBeanのsetter,getterを作る。
         <html:submit value="ログイン"/>
    </html:form>
</html:html>
 

アクションクラスとは
 フォームで入力した値がフォームBeanにセットされたあとに実行される。
 Actionクラスをextendsしたクラスで無ければならない。
 execute()が実行される。
 例:

public class LonginAction extends Action{
   public ActionForward execute(ActionMapping mapping, ActionForm form,
                           HttpServletRequest request, HttpServletResponse response) {
       LoginForm loginform = (LoginForm)form;  //  フォームBeanをキャスト。formはexecute()の引数。
       判定処理・省略
       return mapping.findForward("success");
                or
       return mapping.findForward("err");
         // mapping.findForward()は、struts-config.xmlで定義した移動先に移動するメソッド。
   }
}