ECサイト構築パッケージOpen-EC ECサイト構築パッケージOpen-EC
会社について BlastJについて パートナー コンタクト

BlastJ>>機能概要

機能概要Top

BlastJによる効果

動作環境

ソースの整理について

ビルドプロセス

グラフィカルプログラミング

JSPの文字コード対応

Struts拡張FW対応

EJBとの連携について


BlastJトップへ戻る

SEO機能付きCMS NEW
次世代WebDB開発言語Alinous-Core

ほぼHTMLとSQLだけでアプリケーション開発。
EclipseプラグインによるGUIデバッガ搭載
今すぐ無料ダウンロード


CROSSFIRE O/R
無料ダウンロード

WEB+DB PRESS VOL.27
BlastJ紹介記事連載掲載がスタートしました。
SoftwareDesign2005年6月号
BlastJ紹介記事が掲載されました。
JavaWorld2005年5月号のNews & ProductsのコーナーでBlastJが紹介されました
SIパートナー

業界TOPクラスのJavaエキスパートによる一括請負サービスを提供いたします。

採用のページはこちら
Webデザイン制作 Mer Design



Struts拡張FW対応


拡張フレームワークで、チーム作業を確実に

Strutsの開発をしているときに、フレームワークをうまく使うことで、例外処理などの厄介な処理を再利用し、上級エンジニアのスキルがうまくチーム全体で再利用出来るようになります。

BlastJ+Actionクラスのテンプレートメソッドがお勧め

テンプレートメソッドとは、スーパークラスであるメソッドを呼び出す実装をして、その実装自体は派生クラスで行うというテクニックです。

まずは、下のようなベースとなるスーパークラスを用意する。
BaseAction.java (スーパークラス)
package jp.crossfire.framework.action;

import java.util.Hashtable;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * アクションのベースとなるクラス
 * 実際のアクションはこのクラスを継承させます。
**/
public class BaseAction extends Action{

        /**
         * テンプレートメソッド
        **/
        public void templeteMethod(ActionForm actionForm,
                                   HttpServletRequest request,
                                   HttpServletResponse response,
                                   Hashtable local)
                                                   throws Exception{

                // 中身は、このクラスを継承したクラスで実装します。。
            
        }

        /**
         * Strutsフレームワークから呼ばれるexecuteメソッド
        **/
        public ActionForward execute(ActionMapping mapping,
                                     ActionForm actionForm,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
                                                   throws Exception{

                Hashtable local = new Hashtable();

                // ここにテンプレートメソッドを呼ぶ前の処理を
                // 実装する

                try{
                        // テンプレートメソッドを呼ぶ
                        templeteMethod(actionForm,reques,response);
                }catch(Exception e){
                        // 例外処理をここで追加する
                }

                // ここにテンプレートメソッドを呼んだあとの処理を
                // 実装する

                return mapping.findForward((String)local.get("forward"));
        }
}
次に、ベースクラスを継承したActionクラスを作ることで、各ページごとに対応する。
このとき、派生クラスはHyperStrutsによって自動生成&管理をすることが出来る。
このとき、下のようなソースコードが出力される。
BbsListAction.java (スーパークラス)
package jp.crossfire.web.bbs;

import java.util.Hashtable;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 *  @struts.action
 *    name="bbs.list"
 *    path="/bbs/list"
 *    scope="request"
 *    input=""
 *    validate="true"
 *
 *
 *  @struts.action-forward
 *    name="success"
 *    path="/WEB-INF/jsp/list.jsp"
 *
 *
*/
public class BbsListAction extends BaseAction{

        /**
         * テンプレートメソッド
        **/
        public void templeteMethod(ActionForm actionForm,
                                   HttpServletRequest request,
                                   HttpServletResponse response,
                                   Hashtable local)
                                                   throws Exception{

                // [[ここの中身をHyperStrutsが自動生成&管理します]]
            
        }

 }


COPYRIGHT (C) 2005 CROSSFIRE JAPAN INC. All Right Reserved