SAStruts 入門

indexページの表示3

スポンサード リンク

前回は作成したプロジェクトの構成を見てみました。
今回は表示されていたページについて調べていこうと思います。
Strutsではページ遷移等の管理をstrurts-config.xmlで行っていました。
遷移を確認してみるためにまずはstruts-config.xmlを確認してみたいと思います。

struts-config.xmlの中身

<?xml version="1.0"?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

<struts-config>

<!-- ======================================== Form Bean Definitions -->

    <form-beans>
    </form-beans>

<!-- ================================= Global Exception Definitions -->

    <global-exceptions>
    </global-exceptions>

<!-- =================================== Global Forward Definitions -->

    <global-forwards>
    </global-forwards>

<!-- =================================== Action Mapping Definitions -->

    <action-mappings>
    </action-mappings>


<!-- ===================================== Controller Configuration -->

    <controller
        maxFileSize="1024K"
        bufferSize="1024"
        processorClass="org.seasar.struts.action.S2RequestProcessor"/>


<!-- ================================ Message Resources Definitions -->

    <message-resources parameter="application"
        factory="org.seasar.struts.util.S2PropertyMessageResourcesFactory"/>

<!-- ======================================= Plug Ins Configuration -->

    <plug-in className="org.seasar.struts.validator.S2ValidatorPlugIn">
        <set-property
          property="pathnames"
          value="/WEB-INF/validator-rules.xml"/>
    </plug-in>
</struts-config>
        

不思議なことに全くstruts-config.xmlに全くページ遷移等の処理について記載されていません。
SAStrutrsではstruts-config.xml にページ遷移について記載しなくても動作させることができます。
まずは動作時のログを確認してみたいと思います。

ログを見ると「REQUEST_URI=/snowhiro/index.do」というパラメータになっています。
実際のURLは「http://localhost:8080/snowhiro/」なのでindex.doという値がセットされていることがわかります。
Webアプリケーションのルートにアクセスすると、ルートパッケージ.action.IndexActionがある場合、 自動的に遷移します。
では次にアクセスされているIndexActionを見てみたいと思います。

IndexActionの中身

package snowhiro.action;

import org.seasar.struts.annotation.Execute;

public class IndexAction {

    @Execute(validator = false)
    public String index() {
        return "index.jsp";
    }
}
        

strutsのActionクラスの特徴であるActionクラスを継承しておらずPOJOとなっています。
他にあるメソッドとしてはindexメソッドが1つだけあり、@Executeのアノテーションがついているだけです。
SAstrutsではActionの処理のメソッドして動作させるメソッドについては@Executeをつけて認識させてやる必要があります。
またメソッドの戻り値としてString型を戻しており、次の遷移先になります。
今回のindexメソッドではindex.jspを戻しています。
次に表示されているindex.jspを見てみたいと思います。

index.jspの中身

index.jspは「/src/main/webapp/WEB-INF/view/index.jsp」が表示されています。

index.jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Dolteng Auto Generated</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>
        

jspの内容どおりに表示されています。
特殊なタグ等を使用していないのでここでは特に解説しません。
以上でindexページについては終了です。

これからSeasar2を勉強するならこの一冊は必須といえるくらい完成度の高い本ではないでしょうか。
主要プロダクトのSAStruts/S2JDBCはもちろんその他のサブプロジェクトについても記述されておりリファレンス的な使い方もできるかと思います。

inserted by FC2 system