LoginSignup
2
2

More than 5 years have passed since last update.

LaBee Framework ダイアログ表示・多言語切替え(※ユーザ登録しなくてもダウンロード可にサイト仕様を変更しました)

Posted at

LaBee FrameworkはJavaによるWebシステム開発のデファクトスタンダードを目指す、ゼロから作られた国産のJavaフレームワークです。 海外製フレームワーク特有の難解さや情報不足による工数や人員の増大を解消しJavaのWeb開発を効率化する為に作られました。 LGPLライセンスでソースコードをオープンソース公開しており、個人・企業問わずどなたでも無償で利用出来ます
https://www.bee-wkspace.com/
★ユーザ登録しなくてもファイルダウンロード可にサイト仕様を変更しました★
press.jpg

メッセージダイアログ表示

たとえばログイン認証等の処理でユーザ認証に失敗した場合のエラーダイアログやログイン処理が正常に完了した場合のインフォメーションダイアログ等のメッセージダイアログ表示をビジネスロジック終了後に画面に表示する事が出来ます。

メッセージダイアログ Blogic実装例


    /**
     * ログイン認証イベント処理。
     */
    @FwExeMethod
    public ResponseContext login() throws FwException {
        try {
            String password = bean.getPassword();
            if (password.equals("XXXXXX")) {
                // 完了アイコンを表示するメッセージダイアログ
                bean.setMessageDiarog(AppMessageDialogContext.MESSAGE_TYPE_COMPLETE, "認証成功しました");
            } else {
                // エラーアイコンを表示するメッセージダイアログ
                bean.setMessageDiarog(AppMessageDialogContext.MESSAGE_TYPE_ERROR, "認証失敗しました");
            }
        } catch (Exception e) {
            throw new FwException(e);
        }
        return responseContext;
    }
  • beanの親クラスで定義しているsetMessageDiarogメソッドにアイコン種類を示す定数と表示するメッセージをセットする事で画面表示に戻った際にメッセージダイアログを表示する事が出来ます。

アイコン種類定数

アイコン種別定数 概要
AppMessageDialogContext.MESSAGE_TYPE_COMPLETE CompleteIcon.gif完了アイコンを示す定数
AppMessageDialogContext.MESSAGE_TYPE_INFO InfoIcon.gifインフォアイコンを示す定数
AppMessageDialogContext.MESSAGE_TYPE_WARN WarningIcon.gif警告アイコンを示す定数
AppMessageDialogContext.MESSAGE_TYPE_ERROR ErrorIcon.gifエラーアイコンを示す定数
AppMessageDialogContext.MESSAGE_TYPE_QUESTION QuestionIcon.gif問い合わせアイコンす定数

メッセージダイアログ表示例
dialog_sample1.gif

多言語メッセージ切替え

com.bee_wkspace.labee_fw.common.MessageLabelUtilクラスを使用する事でMessageDefine.csvで定義したメッセージをメッセージIDを指定する事で取得出来ます。言語ロケールコードを合わせて指定する事で動的に取得言語を切替える事が出来ます。メッセージダイアログのメッセージ定義部をMessageLabelUtilクラスからメッセージを取得する様にする事で多言語切り替え対応可能となります。

MessageDefine.csv設定例

$MSG_CD,ja,en
MSG_001,認証成功しました。,It was successful authentication.
MSG_002,認証失敗しました。,It failed in the authentication.
  • 1行目 ヘッダで言語ロケールコードをja(日本語)とen(英語)を定義しています。
  • 2行目 MSG_001,MSG_002というメッセージコードでそれぞれ日本語と英語のメッセージを定義しています。

多言語対応版メッセージダイアログ Blogic実装例


    /**
     * ログイン認証イベント処理。
     */
    @FwExeMethod
    public ResponseContext login() throws FwException {
        try {
            String languageCd = "en";
            String password = bean.getPassword();
            if (password.equals("XXXXXX")) {
                // 完了アイコンを表示するメッセージダイアログ
                bean.setMessageDiarog(AppMessageDialogContext.MESSAGE_TYPE_COMPLETE, 
                        MessageLabelUtil.getMessage("MSG_001", new Locale(languageCd)));
            } else {
                // エラーアイコンを表示するメッセージダイアログ
                bean.setMessageDiarog(AppMessageDialogContext.MESSAGE_TYPE_ERROR, 
                        MessageLabelUtil.getMessage("MSG_002", new Locale(languageCd)));
            }
        } catch (Exception e) {
            throw new FwException(e);
        }
        return responseContext;
    }
  • 8行目 サンプルとして言語ロケールコードをen(英語)に設定しています。
  • 14行目、18行目 メッセージをMessageLabelUtilクラスを利用して、メッセージコードと言語ロケールコードを指定して取得しています。

メッセージダイアログ表示例
メッセージ表示が英語で表示されました。
dialog_sample2.gif

多言語切替サンプルプログラムは以下で確認出来ます
https://www.bee-wkspace.com/Sample1/

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2