Web用のフレームワーク。
Javaのフレームワークでは結構有名なやつ。
プラグインをインストールしてEclipseで編集できる。
サーブレットコンテナが必要。(Tomcatとか。)
参考
インストール編
・Strutsを使うWebアプリケーション構築術
@ITの連載。
・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対応表
Model | View | Controller |
フォーム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で定義した移動先に移動するメソッド。 } }