クラス TopMenuTag

  • すべての実装されたインタフェース:
    Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class TopMenuTag
    extends CommonTagSupport
    画面アクセスメニューを作成します。 画面リソースの階層番号(レベル)は、  0:グループ分類メニュー(class="GUI_GRP"のtdタグで囲われます)  1:トップ階層(【分類名称】)  2:選択階層(通常の折りたたみメニュー)  3:選択非表示(通常は、隠してあります) です。 お気に入りメニューを登録するキーワードに、HybsSystem.GUI_FAV_MENU_KEY を使用しています。 これは、エンジン内部で使用しているキーワードです。 ※ 6.9.4.1 (2018/04/09) HYBS_BR の廃止 以前から、画面メニューを少し空けるために、HYBS_BR が使われていましたが、廃止しました。
    関連項目:
    直列化された形式
    変更履歴:
    3.5.5.3 (2004/04/09) 新規作成
    機能分類
    メニュー制御
    形式サンプル:
    ●形式:<og:topMenu /> ●body:なし ●Tag定義: <og:topMenu menuType 【TAG】作成するメニューの種類(NORMAL,GROUP,ONELEVEL,NEXTGUI,MATRIX,MATRIX2,NONE,TILE)を指定します(初期値:NORMAL) expand 【TAG】折り返しメニューを構築するかどうかを指定します(初期値:true) groups 【TAG】表示対象となるグループをCSV形式で指定します classify 【TAG】表示対象となる分類(classify)を指定します href 【TAG】グループメニューの表示対象となるソース名(href)を指定します(初期値:menu.jsp) target 【TAG】グループメニューの表示対象となるフレーム名(target)を指定します(初期値:MENU) imageOnly 【TAG】グループメニューの表示に、画像のみかどうか[true:画像のみ/false:画像+ラベル]を指定します(初期値:false) sideCount 【TAG】グループメニューの表示対象となるメニューを横並びさせる数を指定します minCellCount 【TAG】表形式メニュー(MATRIX)の一つのセルに含まれる最小行数を指定します(初期値:8) maxCellCount 【TAG】表形式メニュー(MATRIX)の一つのセルに含まれる最大行数を指定します(初期値:8) cache 【TAG】グループメニューのキャッシュを使用するかどうか[true/false]を指定します(初期値:true) match 【TAG】正判定(マッチする場合に、メニューに出す)条件を設定します unmatch 【TAG】逆判定(マッチする場合に、メニューに出さない)条件を設定します useButton 【TAG】画面リンクにボタンを使用するかどうか[true/false]を指定します(初期値:false) buttonRequest 【TAG】マトリクスからの遷移先でボタンメニュー表示するかどうか[true/false]を指定します(初期値:false) inlineStyle 【TAG】標準画面を初期状態で表示するかどうか[true/false]を指定します(初期値:false) useDivOneLevel 【TAG】ONELEVEL,NEXTGUI で、DIVタグ+design-onelevel 処理をするかどうか[true/false]を指定します(初期値:false) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:topMenu> ●使用例 <og:topMenu /> <og:topMenu menuType = "NORMAL" NORMAL:通常 / GROUP:グループメニュー / ONELEVEL:1レベル / NEXTGUI:次アクセス先 / MATRIX:一覧表メニュー / MATRIX2:一覧表メニュー(大分類なし版) / NONE:表示しない / TILE:タイル表示 expand = "true" true:折り返しメニュー / false:階層メニュー groups = "AA,BB,CC" 表示対象となるグループをCSV形式で指定します。 classify = "ABC" 表示対象となる分類を指定します。 href = "menu.jsp" グループメニューの対象ソース名(href)を指定します。 target = "MENU" グループメニューの対象フレーム名(target)を指定します。 imageOnly = "false" グループメニューに、 true:画像のみ / false:画像+ラベル を指定します。 sideCount = "6" グループメニューの表示対象となるメニューを横並びさせる数を指定します。 minCellCount = "8" 表形式メニューの1セルの最小行数を指定します。 maxCellCount = "8" 表形式メニューの1セルの最大行数を指定します。 cache = "true" グループメニューのキャッシュを使用するかどうか指定します。 match = "正規表現" 正判定(マッチする場合に、メニューに出す)条件を設定します。 unmatch = "正規表現" 逆判定(マッチする場合に、メニューに出さない)条件を設定します。 useButton = "false" ボタン形式のリンクを使用するかを指定します。 useDivOneLevel = "false" ONELEVEL,NEXTGUI で、DIVタグ+design-onelevel 処理をするかどうかを指定します。 />
    バージョン
    4.0
    作成者
    Kohei Naruse
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • TopMenuTag

        public TopMenuTag()
        デフォルトコンストラクター
        変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
    • メソッドの詳細

      • doEndTag

        public int doEndTag()
        Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
        定義:
        doEndTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doEndTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示
        変更履歴:
        4.0.0.0 (2007/10/31) 1レベルメニューの見直し, 4.2.1.0 (2008/04/01) マトリクスメニュー2追加, 5.2.3.0 (2010/12/01) NEXTGUI 追加, 5.3.0.0 (2010/11/22) NEXTGUI もマルチセッションチェックをしない。, 5.3.9.0 (2011/09/01) メニューでのヘルプアイコン対応, 5.5.0.4 (2012/03/12) FAQ表示対応, 5.5.2.5 (2012/05/21) FAQ対応 廃止, 5.5.4.2 (2012/07/13) META-INF/resources からの読み取り対応, 6.3.8.3 (2015/10/03) NONE(表示しない) 追加。, 6.3.8.4 (2015/10/09) topMenu 内でのHelp機能を廃止します。, 6.3.8.4 (2015/10/09) FileMap のコンストラクタ変更に伴う対応。, 6.3.9.0 (2015/11/06) helpMapの初期化を、initメソッドに変更する。, 6.7.5.0 (2017/03/10) TILE表示追加(imageDir 属性追加), 6.9.4.0 (2018/04/02) caseKey 、caseVal 属性対応, 6.9.5.0 (2018/04/23) multiSessionCheck 廃止(true固定), 6.9.5.0 (2018/04/23) 6.9.9.3 (2018/09/25) JavaDoc エラー対応, 7.3.2.0 (2021/03/19) FileMapは、static化して使いまわす。
      • release2

        protected void release2()
        タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
        オーバーライド:
        release2 クラス内 CommonTagSupport
        変更履歴:
        5.2.3.0 (2010/12/01) sideCountの初期値を -1(無制限)に変更, 5.3.9.0 (2011/09/01) メニューでのヘルプアイコン対応, 5.5.2.3 (2012/05/15) ONELEVEL,NEXTGUI で、DIVタグ+design-onelevel 処理をするかどうかを指定します。, 6.3.8.4 (2015/10/09) topMenu 内でのHelp機能を廃止します。, 6.3.9.0 (2015/11/06) helpMapの初期化を、initメソッドに変更する。, 6.7.5.0 (2017/03/10) TILE表示追加(imageDir 属性追加), 6.9.5.0 (2018/04/23) multiSessionCheck 廃止(true固定), 7.3.2.0 (2021/03/19) FileMapは、static化して使いまわす。
      • setMenuType

        public void setMenuType​(String type)
        【TAG】作成するメニューの種類[NORMAL/GROUP/ONELEVEL/NEXTGUI/MATRIX/MATRIX2]を指定します(初期値:NORMAL)。
        パラメータ:
        type - メニューの種類 [NORMAL/GROUP/ONELEVEL/NEXTGUI/MATRIX/MATRIX2/NONE/TILE]
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録, 5.2.3.0 (2010/12/01) NEXTGUI 追加, 6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。, 6.3.8.3 (2015/10/03) NONE(表示しない) 追加(JavaDoc追記のみ)。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。, 6.7.5.0 (2017/03/10) TILE表示追加
        説明:
        作成するメニューには、複数の種類があります。
        メニューの種類
        種類 説明
        NORMAL 通常の階層メニュー
        GROUP GROUPのみを取り出してリンクを作成します。(topMenuに利用)
        ONELEVEL指定のclassify のメニューのみを取り出してリンクを作成します。(lineMenuに利用)
        NEXTGUI 既存のページの次にアクセスされる画面郡のリンクを作成します。
        MATRIX 一覧表形式のメニューを作成します。(大分類付きマルチメニュー)
        MATRIX2 一覧表形式のメニューを作成します。(大分類なしボタンメニュー)
        NONE 表示しない(ヘッダーメニューを表示しない時などに使用)
        TILE イメージを使った全面アイコン画面
      • setExpand

        public void setExpand​(String flag)
        【TAG】折り返しメニューを構築するかどうかを指定します(初期値:true)。
        パラメータ:
        flag - 折り返しメニュー [true:する/false:しない]
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        trueを設定すると、JavaScriptによる折り返しメニューを構築します。 false の場合は、通常のHTMLのみで、階層メニューを構築します。 初期値は、true(折り返しメニュー)です。
      • setGroups

        public void setGroups​(String menuGroups)
        【TAG】表示対象となるグループをCSV形式で指定します。
        パラメータ:
        menuGroups - 表示対象グループ (CSV形式)
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        メニューの表示対象グループをCSV形式で複数指定できます。 指定のグループのメニューだけが、表示対象になります。 メニューにも、複数のグループを指定できるため、1グループの指定で、 複数のくくりを表示することも可能です。 グループを指定しない場合は、全グループが対象になります。 また、メニュー側にグループ指定がない場合は、グループ指定に 関係なく、対象になります。 初期値は、未指定(全メニューが対象)です。 分解方法は、通常のパラメータ取得後に、CSV分解します。
      • setClassify

        public void setClassify​(String classify)
        【TAG】表示対象となる分類(classify)を指定します。
        パラメータ:
        classify - 表示対象分類 (classify)
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        メニューの表示対象となる分類(classify)を指定することで、一まとまりの メニューを作成します。これは、3段階メニューの最終メニューを求める場合に 指定します。 最終メニューは、画面上部に設ける予定のメニューで、上下フレーム分割での 運用時に使用します。 分類の指定がない場合は、すべてが表示対象になります。 初期値は、未指定(全メニューが対象)です。
      • setHref

        public void setHref​(String inHref)
        【TAG】グループメニューの表示対象となるソース名(href)を指定します(初期値:menu.jsp)。
        パラメータ:
        inHref - 表示対象ソース名 (href)
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        GROUPメニューの表示対象となるソース名(href)を指定することで、 サブメニューを自分自身のフレームに対して割り当てるのか、フレームを分けて 管理するのかを自由に設定できます。 初期値は、menu.jspです。
      • setTarget

        public void setTarget​(String inTarget)
        【TAG】グループメニューの表示対象となるフレーム名(target)を指定します(初期値:MENU)。
        パラメータ:
        inTarget - 表示対象フレーム名 (target)
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        GROUPメニューの表示対象となるフレーム名(target)を指定することで、 サブメニューを自分自身のフレームに対して割り当てるのか、フレームを分けて 管理するのかを自由に設定できます。 フレーム分割を行うと、変更箇所は、サブメニューのみになる為、動きに無駄が なくなりますが、グループメニューの大きさが固定されてしまいます。 自分自身にすると、グループメニューとサブメニューを一つのフレームに 入れることで、更新時の画面のちらつきは発生しますが、無駄なスペースは 省くことが可能になります。 初期値は、MENU(通常のメニューフレーム)です。
      • setImageOnly

        public void setImageOnly​(String flag)
        【TAG】グループメニューの表示に、画像のみかどうか[true:画像のみ/false:画像+ラベル]を指定します(初期値:false)。
        パラメータ:
        flag - グループメニュー表示 [true:画像のみ/false:画像+ラベル]
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        GROUPメニューの表示対象として、jsp/menuImage 以下に グループ名と同一の 画像ファイルが存在する場合は、画像を使用します。 このフラグを、true に設定すると、画像のみを使用します。 false の場合は、画像+グループ名のラベルを使用します。 画像のみの場合でも、title 属性にグループ名のラベルをセットしますので、 マウスカーソルをオーバーすれば、名称がTips表示されます。 画像が存在しない場合に、true(画像のみ)に設定した場合は、ラベルの最初の1文字 のみを出力します。 初期値は、false(画像+ラベル)です。
      • setSideCount

        public void setSideCount​(String count)
        【TAG】グループメニューの表示対象となるメニューを横並びさせる数を指定します。
        パラメータ:
        count - 横並び数
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        GROUPメニューなどの表示を行う場合に、横方向に何個のメニューを表示させるかを 指定します。例えば、画像のみのリンクと組み合わせれば、より、多くのグループを 横方向に並べることで、小領域に多くの情報を詰めることが可能になります。 0 を設定すると、横方向にのみ並べる(折り返さない)メニューを作ることが 可能になります。 初期値は、無制限です。
      • setMinCellCount

        public void setMinCellCount​(String count)
        【TAG】表形式メニュー(MATRIX)の一つのセルに含まれる最小行数を指定します(初期値:8)。
        パラメータ:
        count - セル内最小行数
        関連項目:
        setMaxCellCount( String )
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        表形式メニュー(MATRIX)では、一つのセルの高さを同一にする為、<br />タグを挿入します。 このタグの挿入する個数を指定します。 この個数だけ、メニューの数があろうとなかろうと行を確保します。 指定の値が、実際の行数より少ない場合は、実際の行数分だけ拡張されます。 初期値は、8 です。
      • setMaxCellCount

        public void setMaxCellCount​(String count)
        【TAG】表形式メニュー(MATRIX)の一つのセルに含まれる最大行数を指定します(初期値:8)。
        パラメータ:
        count - セル内最大行数
        関連項目:
        setMinCellCount( String )
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        表形式メニュー(MATRIX)では、一つのセルの高さを同一にする為、指定の行数で 新たな セルを作成して、セルを横方向に連結します。 初期値は、8 です。
      • setCache

        public void setCache​(String flag)
        【TAG】グループメニューのキャッシュを使用するかどうか[true/false]を指定します(初期値:true)。
        パラメータ:
        flag - キャッシュ可否 [true:キャッシュする/false:キャッシュしない]
        変更履歴:
        4.0.0.0 (2005/01/31) 新規登録
        説明:
        GROUPメニューの表示は、一旦作成すると、ほとんど書き換えることがありません。 作成は、使用できる全メニューをスキャンして、その中からグループ属性をピックアップ するという処理を行っている為、明らかに無駄な処理です。 そこで、jsp/index.jsp が実行された場合のみキャッシュをクリアして、内部では キャッシュがなければ作成し、あればキャッシュを使うロジックになっています。 ここでは、キャッシュを使用するのか、毎回作成しなおすのかを指定します。 対象として、jsp/menuImage 以下に グループ名と同一の 画像ファイルが存在する場合は、画像を使用します。 このフラグを、true に設定すると、画像のみを使用します。 false の場合は、画像+グループ名のラベルを使用します。 画像のみの場合でも、title 属性にグループ名のラベルをセットしますので、 マウスカーソルをオーバーすれば、名称がTips表示されます。 画像が存在しない場合は、たとえ、true(画像のみ)に設定しても、ラベルを出力します。 初期値は、true(キャッシュする)です。
      • setMatch

        public void setMatch​(String mt)
        【TAG】正判定(マッチする場合に、メニューに出す)条件を設定します。
        パラメータ:
        mt - 正判定条件 (マッチする場合に、メニューに出す)
        説明:
        メニューを表示する/しないの判定を、画面IDのマッチングで判断します。 これは、正規表現で表される引数と、画面IDがマッチする場合に、 メニューを表示させます。 マッチしない場合は、表示されません。 何も指定しない場合は、ロールの判定みの行われます。
      • setUnmatch

        public void setUnmatch​(String umt)
        【TAG】逆判定(マッチする場合に、メニューに出さない)条件を設定します。
        パラメータ:
        umt - 逆判定条件 (マッチする場合に、メニューに出さない)
        説明:
        メニューを表示する/しないの判定を、画面IDのマッチングで判断します。 これは、正規表現で表される引数と、画面IDがマッチする場合に、 メニューを表示させません。 マッチしない場合は、表示されます。 何も指定しない場合は、ロールの判定みの行われます。
      • setImageDir

        public void setImageDir​(String dir)
        【TAG】メニューに使用する画像ファイルのフォルダを指定します(初期値:)。
        パラメータ:
        dir - メニューに使用する画像ファイルのフォルダ
        変更履歴:
        6.7.5.0 (2017/03/10) TILE表示追加(imageDir 属性追加)
        説明:
        メニューに使用する画像ファイルのフォルダを指定します。 画面IDのキーと一致する画像ファイルを使用します。 初期値は、 です。 /jspからのフォルダ指定が必要です。
      • setUseButton

        public void setUseButton​(String flag)
        【TAG】画面リンクにボタンを使用するかどうか[true/false]を指定します(初期値:false)。
        パラメータ:
        flag - ボタンリンク [true:ボタン形式リンク/false:通常リンク]
        変更履歴:
        4.2.1.0 (2008/04/01) 新規登録
        説明:
        画面リンクをボタンリンク形式で表示するかを指定します。 falseの場合は、通常のリンクになります。 初期値は、false(通常リンク)です。
      • setButtonRequest

        public void setButtonRequest​(String flag)
        【TAG】マトリクスからの遷移先でボタンメニュー表示するかどうか[true/false]を指定します(初期値:false)。
        パラメータ:
        flag - メニュー形式 [true:ボタン形式/false:通常形式]
        変更履歴:
        4.2.1.0 (2008/04/17) 新規登録
        説明:
        マトリクスメニューからの遷移先でボタンメニューを表示させるために アドレスに付加するリクエスト変数を指定します。 trueにするとbuttonRequest=trueのリクエスト変数を付けます。 falseの場合はリクエスト変数を付けません。 初期値は、false(プルダウン形式で表示)です。
      • setInlineStyle

        public void setInlineStyle​(String flag)
        【TAG】標準画面を初期状態で開いた状態で表示するかどうか[true/false]を指定します(初期値:false)。
        パラメータ:
        flag - メニュースタイル [true:開いた状態/false:閉じた状態]
        変更履歴:
        4.3.3.0 (2008/10/01) 新規
        説明:
        通常expand=trueの状態では、メニューが折りたたまれています。 このinlineStyle属性をtrueにすると標準画面のスタイルにdisplay:inlineを 付加する事で、初期状態でメニューが開いた状態になります。 expand=falseとの違いは、隠しメニュー及び分類の折りたたみ機能が利用できる事です。 初期値は、false(折りたたまれた状態)です。
      • setUseDivOneLevel

        public void setUseDivOneLevel​(String flag)
        【TAG】ONELEVEL,NEXTGUI で、DIVタグ+design-onelevel 処理をするかどうか[true/false]を指定します(初期値:false)。
        パラメータ:
        flag - DIVタグ処理するか [true:DIVタグ処理をする/false:しない]
        変更履歴:
        5.5.2.3 (2012/05/15) 新規追加
        説明:
        ONELEVEL,NEXTGUI は、QUERY 画面の上部に表示される簡易メニューです。 この表記は、[画面リンク] 形式のテキスト表示されていますが、画面名称を固定長にするなどの処理を入れるため、 DIVでフォーマットします。 作りは、出力される HTML を確認いただきたいと思います。 全体を、<div id="design-onelevel" > で、囲い、画面名称は、<span clas="design-onelevel" > で、囲います。 これを、標準CSSで、固定幅と背景色、リンクの文字色など書き換えて、体裁を整えます。 初期値は、false(従来と同じ)です。
      • toString

        public String toString()
        このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
        オーバーライド:
        toString クラス内 CommonTagSupport
        戻り値:
        このクラスの文字列表現
        このメソッドは、nullを返しません