クラス TopMenuTag

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

public class TopMenuTag extends CommonTagSupport
画面アクセスメニューを作成します。 画面リソースの階層番号(レベル)は、  0:グループ分類メニュー(class="GUI_GRP"のtdタグで囲われます)  1:トップ階層(【分類名称】)  2:選択階層(通常の折りたたみメニュー)  3:選択非表示(通常は、隠してあります) です。 ※ 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) useLongName 【TAG】画面名称に、名前(長) を使う場合は、trueを指定します(初期値:false) 8.2.1.0 (2022/07/15) 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 処理をするかどうかを指定します。 />
導入されたバージョン:
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 インタフェース内 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化して使いまわす。, 8.5.6.1 (2024/03/29) PMD 7.0.0 Finding duplicated code with CPD
    • 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化して使いまわす。, 8.2.1.0 (2022/07/15) useLongName 属性追加
    • 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 - セル内最小行数
      関連項目:
      変更履歴:
      4.0.0.0 (2005/01/31) 新規登録
      説明:
      表形式メニュー(MATRIX)では、一つのセルの高さを同一にする為、<br>タグを挿入します。 このタグの挿入する個数を指定します。 この個数だけ、メニューの数があろうとなかろうと行を確保します。 指定の値が、実際の行数より少ない場合は、実際の行数分だけ拡張されます。 初期値は、8 です。
    • setMaxCellCount

      public void setMaxCellCount(String count)
      【TAG】表形式メニュー(MATRIX)の一つのセルに含まれる最大行数を指定します(初期値:8)。
      パラメータ:
      count - セル内最大行数
      関連項目:
      変更履歴:
      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(従来と同じ)です。
    • setUseLongName

      public void setUseLongName(String flag)
      【TAG】画面名称に、名前(長) を使う場合は、trueを指定します(初期値:false)。
      パラメータ:
      flag - 画面の名称 [true:名前(長)/false:名前(短)]
      変更履歴:
      8.2.1.0 (2022/07/15) useLongName 属性追加
      説明:
      画面の名称は、画面リソースの GUIInfo#getName() を使用しますが、通常、画面名称(short) です。 画面名称(long) を使いたい場合は、このフラグを true に設定すると、GUIInfo#getLongName() を使用します。 初期値は、false(従来と同じ)です。 menuType が NORMAL,MATRIX,MATRIX2,TILE の場合のみ効きます。
    • toString

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