サポート > Wagby Developer Network > 見栄えのカスタマイズ > サブメニュー部

サブメニューの構造


図1 サブメニュー
(クリックすると拡大画像が表示されます)

$(DEVHOME)\env\template\jspc\submenu.jsp は、「__jfc_menubar」というオブジェクトに格納されたメニュー情報からサブメニュー用の HTML へ変換します。

標準は XSLT を用いてサブメニュー用 HTML へ変換します。見た目の詳細は、CSS ファイルを用いて定義しています。

<%@ page pageEncoding="UTF-8"%>
<div id="submenuarea" dojoType="dijit.Toolbar" style="visibility: hidden;">
  <relaxer:xslt name="__jfc_menubar" xslUri="system/showSubmenubar_rich2.xsl"/>
</div>
<script type="text/javascript">
  function goPage(location) {
    if (self.click_link && !click_link()) {
        return;
    }
    window.location.href = location;
  }
</script>

relaxer:xslt タグは、name 属性に指定されたオブジェクトを、xslUri 属性に指定された XSLT を使って HTML に変換するためのタグライブラリです。

__jfc_menubar は Wagby が内部でもっているメニューオブジェクトです。 その内容は XML 形式で表現された階層メニューとなっています。 メニューオブジェクトの XML 表現の例を示します。

<menubar>
  <menu>
    <title>全員</title>
    <item name="showListHoliday" desc="年休管理簿検索"
      order="1" color="#CCFFCC"></item>
    <item name="showListStaff" desc="スタッフ検索"
      order="1" color="#CCFFCC"></item>
    <item name="downloadStaff" desc="スタッフダウンロード"
      order="1" color="#CCFFCC"></item>
   </menu>

   <menu>
     <title>総務企画部</title>
     ...
   </menu>
</menubar>


図2 サブメニューの表示例

メニューについては、メニュー情報のページでも解説しています。
XSLT ついては、Wagbyに含まれるXSLTファイルのページでも解説しています。

カスタマイズ方法

サブメニューの表示方法を変更する方法は次のとおりです。

色やフォントを変更する

CSS ファイルを変更します。 詳細はCSS の解説をお読みください。

表示位置を変更する

レイアウトの変更をお読みください。

表示形式を変更する (1) submenu.jsp を修正する

__jfc_menubar オブジェクトは、request に格納されています。 次のようなコードによって、同オブジェクトを取得することができます。

  jp.jasminesoft.jfc.menu.Menubar menubar =
    (jp.jasminesoft.jfc.menu.Menubar)
      request.getAttribute("__jfc_menubar");

開発者は submenu.jsp にて XSLT を用いずに直接、menubar オブジェクトを操作して HTML に変換するコードを作成します。この場合、<relaxer:xslt>タグは削除してください。

表示形式を変更する (2) 既存の XSLT ファイルを修正する

submenu.jsp は <relaxer:xslt>タグにより、この XML を指定した XSLT ファイルで HTML に変換します。 開発者は $(DEVHOME)\env\webpage フォルダに格納されたサブメニュー表示用の XSLT ファイル(標準ではshowSubmenubar_rich2.xsl)を編集することで、HTML 変換ルールをカスタマイズすることができます。

表示形式を変更する (3) XSLT ファイルを新規に作成する

新しい XSLT ファイルを作成した場合、このファイルを $(DEVHOME)\env\webpage フォルダに保存します。 その後、<relaxer:xsl>タグの xslUri 属性を(作成したファイルに)変更してください。