LaBee Framework
ドキュメントトップに戻る
ビジネスロジック任意レスポンス
ビジネスロジックの処理が終了した際のレスポンス設定メソッドを親クラスで複数定義しています。レスポンス設定を変更する事で
別のビジネスロジックにリダイレクトしたりレスポンスを委譲するなどを簡単に実装出来ます。

ビジネスロジックのレスポンス設定種類
レスポンスタイプ 概要
通常 responseContextに何も設定を行なわない場合はデフォルトでビジネスロジックと同じ画面IDのJSPへ遷移します。
setRedirectResponse(String target, String execute, String... param) 指定したターゲットのイベント処理へのリダイレクト呼び出しを行ないます。
setRedirectURL(String redirectURL, String statusCode, HashMap<String, String> headerMap) 指定したURLへのリダイレクト呼び出しを行ないます。
setDelegateResponse(String target, String execute, String... params) 指定したターゲットのイベント処理を直列実行しレスポンスを委譲します。委譲回数に制限はなく直列に複数の ビジネスロジックを実行出来ます。
setAjaxJsonResponse(JsonValueContext jsonvalContext) 「ID名,設定値」形式のJSONをレスポンスを返し、ビジネスロジックと同じ画面IDのJSPへ遷移し、指定IDのオブジェクト内容を 動的に書き換えます。
setOtherScreenIdResponse(String screenId) 他の画面IDのJSPへ遷移するレスポンス設定を行なう。遷移先jspではビーン参照クラスを合わせるか、ビーン参照を使用しない 必要がある。
ファイルダウンロード
ビジネスロジックの処理が終了した際のレスポンス情報を持つresponseContextを設定する事でレスポンスにファイルを返す(ファイルダウンロード)
事が出来ます。ファイル種別はプレーンテキスト、CSV、JSON、XML、バイナリに対応しています。
JSONをダウンロードする Blogicメソッド実装例
    
    /**
     * JSONをダウンロードするイベント処理。
     */
    @FwExeMethod
    public ResponseContext jsonDownload() throws FwException {
        try {
            Map<String, Object> dataMap = new HashMap<String, Object>();
            dataMap.put("Language", "Java");
            List<String> dataList = new ArrayList<String>();
            dataList.add("Windows");
            dataList.add("Mac");
            dataList.add("Linux");
            
            dataMap.put("Enviroment", dataList);
            
            JsonUtil<Map<String, Object>> jsonUtil = new JsonUtil<Map<String, Object>>();
            String json = jsonUtil.encodeToString(dataMap);

            responseContext.setExportFileName("Sample.json");
            responseContext.setResponseType(ResponseContext.RESPONSE_TYPE_JSON);
            responseContext.setResponseJson(json);
        } catch (Exception e) {
            throw new FwException(e);
        }
        return responseContext;
    }
   
CSVをダウンロードする Blogicメソッド実装例
    
    /**
     * CSVをダウンロードするイベント処理。
     */
    @FwExeMethod
    public ResponseContext jsonDownload() throws FwException {
        try {
            StringBuilder csv = new StringBuilder();
            csv.append("北海道");
            csv.append(CommonDefine.COMMA);
            csv.append("青森");
            csv.append(CommonDefine.COMMA);
            csv.append("秋田");
            csv.append(CommonDefine.COMMA);
            csv.append("岩手");
            
            responseContext.setExportFileName("Sample.csv");
            responseContext.setResponseType(ResponseContext.RESPONSE_TYPE_CSV);
            responseContext.setResponseCsv(csv.toString()); 
        } catch (Exception e) {
            throw new FwException(e);
        }
        return responseContext;
    }
   
バイナリをダウンロードする Blogicメソッド実装例
    
    /**
     * バイナリをダウンロードするイベント処理。
     */
    @FwExeMethod
    public ResponseContext jsonDownload() throws FwException {
        try {
            byte[] binary = new String("バイナリテスト").getBytes();

            responseContext.setExportFileName("Sample.bin");
            responseContext.setResponseType(ResponseContext.RESPONSE_TYPE_BINARY);
            responseContext.setResponseBinary(binary);
        } catch (Exception e) {
            throw new FwException(e);
        }
        return responseContext;
    }
   
ドキュメントトップに戻る
Copyright ARTS Laboratory. All rights reserved.