←フエルチラシノウラ。トップページへもどる。

【Java】Struts2なWebアプリケーションの超簡単なサンプル。

Java Struts2 フレームワーク webアプリケーション アノテーション ゼロコンフィグ Action アクション Ajax dojo サンプル

【Java】Struts2なWebアプリケーションの超簡単なサンプル。

基本


Struts2でのWebアプリ開発の大まかな流れです。
できるだけ設定ファイルに頼らずにアノテーションだけでやってみましょう。

struts.xml を設置。


まずはライブラリ内のstruts-default.xmlをextendしたものだけで十分。
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- デフォルト設定を読み込む -->
<include file="struts-default.xml" />

<!-- デフォルト設定を更に拡張してオリジナルのパッケージを作る。 -->
<package name="myPackage" extends="struts-default">
<!-- TODO: ここにいろいろオリジナルな設定を追記していく。今回は空っぽ。 -->
</package>
</struts>


Actionクラスを作成。


ActionSupportをextendしたアクションクラスを作成。
クラスの冒頭にアノテーションで遷移先を定義することが重要。
@ParentPackage(value="myPackage")
@Results( {
@Result(name = "input", value = "hoge-input.jsp"),
@Result(name = "confirm", value = "hoge-confirm.jsp"),
@Result(name = "result", value = "hoge-result.jsp")
})
public class HogeAction extends ActionSupport {

/**
* メンバ変数(この画面のパラメータ)
*/
/** パラメータ1 */
private String param1;
/** パラメータ2 */
private String param2;

/**
* バリデーション
*
* @return
*/
@Override
public void validate() {
// ここで入力チェックとかを行う。
return;

}

/**
* 入力画面を返す。
*
* @return
*/
@Override
public String input() throws Exception {
return "input";
}

/**
* 確認画面を返す。
*
* @return
*/
public String confirm() throws Exception {
return "confirm";
}

/**
* 結果画面を返す。
*
* @return
*/
public String result() throws Exception {
return "result";
}

//-- accessors
public void getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
}


画面(jsp)を作成。


上記のActionクラスの遷移先JSPを作成します。
この場合作成するjspは、hoge-input.jsp, hoge-confirm.jsp, hoge-result.jsp の3つです。
それぞれ、「入力画面」、「確認画面」、「結果画面」となります。
"s:submit" タグの "action" 属性でアクションクラスを指定し、 "method" 属性で呼び出したいメソッドを指定するようなイメージ。

hoge-input.jspのサンプル。
<%@ page language="java" contentType="text/html; charset=Windows-31J"
pageEncoding="Windows-31J"%>
<@taglib prefix="s" uri="/struts-tags"%>
入力画面<br/>
<s:actionerror />
<s:fielderror />
<s:form>
■パラメータ1
<s:textfield name="param1" value="%{param1}" />
<s:submit action="hoge" method="confirm" value="確認する" />
</s:form>


hoge-confirm.jspのサンプル。
<%@ page language="java" contentType="text/html; charset=Windows-31J"
pageEncoding="Windows-31J"%>
<@taglib prefix="s" uri="/struts-tags"%>
確認画面<br/>
<s:actionerror />
<s:fielderror />
<s:form>
■パラメータ1
<s:property value="param1" />
<s:hidden name="param1" value="%{param1}" />
<s:submit action="hoge" method="result" value="完了" />
<s:submit action="hoge" method="input" value="戻る" />
</s:form>


hoge-result.jspのサンプル。
<%@ page language="java" contentType="text/html; charset=Windows-31J"
pageEncoding="Windows-31J"%>
<@taglib prefix="s" uri="/struts-tags"%>
完了画面。


web.xmlに設定を追加。


web.xmlに以下の設定を追加します。
"actionPackages"の部分にアクションのパッケージ名を追加していきます。
これを忘れるとアクションが動きませんので気を付けて下さい。
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>
com.examples.action.hoge,
com.examples.action.foo,
com.examples.action.bar

</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>



以上が超簡単なstruts2アプリのひな形です。

参考


Struts 2入門(1)?基本形で理解する仕組みと構造?
struts2開発の基本中の基本を押さえています。初心者の方はまず一読すべし。

Struts2でインターセプターを使う場合のstruts.xml
インターセプターを実装する場合のstruts.xmlのサンプルが置いてあります。

Struts Showcase
strutsタグを利用したUIのサンプルが豊富です。
struts2でAjaxなクライアントを作りたくなったらここでお勉強しましょう。

Struts2 + Spring2 + JPA + AJAX
Struts2, Spring2, JPA, AJAX を組み合わせた開発のサンプルです。
とても勉強になりますよ。おすすめです。

http://goodjob.boy.jp/chirashinoura/id/181.html

作成日: 2008-04-01 14:28:46

最終更新日: 2008-07-15 20:31:46

▲このページの上へ