クラス TabLinkTag

  • すべての実装されたインタフェース:
    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 TabLinkTag
    extends CommonTagSupport
    タブ形式のリンクを表示するタグです。 このタグ形式の実態は、リンクのリストであるため、実の画面の表示はターゲットを指定して 別フレームで行う必要があります。 タブの指定方法については、listType属性の指定により、クエリ発行(DB)により動的に生成する パターンと、タグ指定(TAG)により、静的に生成するパターンがあります。 listType属性に何も指定されていない場合は、Body部分に記述された内容により、自動判定されます。 ("SELECT"で始まっている場合はDB、それ以外はTAGとして処理) ①listType属性が"DB"の場合 検索された各カラムは、その順番により次の意味を持ちます。 [第1カラム] タブの名前 : リンク時のキー情報、後述のopenTabName属性のキーとしても使用 ※必須 [第2カラム] タブの表示名称 : タブの表示名称 指定がない場合は、第1カラムが表示名称となります。 [第3カラム] タブのリンク先URL : タブのリンク先URL 指定がない場合は、href属性の値が適用されます。 [第4カラム] タブのクラス属性 : 個別のタブに付加されるクラス属性 指定がない場合は、unselClass属性の値が適用されます。 [第5カラム] タブのロールズ : タブのロールズを指定します。ユーザーロールズと一致しない指定した場合は、タブが表示されなくなります。 [第6カラム] タブの選択可否 : タブの選択可否を'true'or'false'で指定します。falseを指定した場合は、タブが表示されなくなります。 (ロールズで選択不可になっている場合は、この値は無視されます) 各カラムの値は[カラム名]=[値]の形で、リンク先のJSPに引数として渡されます。 また、リンク先のJSPについては、href属性で指定します。 ②listType属性が"TAG"の場合 tabListタグを記述し、個別にタブを定義します。 制御可能な項目は、①DBの場合と同等です。 タブの名前を定義するname属性は、tabListタグで必ず定義する必要があります。 lbl属性が指定されていない場合は、name属性のラベル名称を取得します。 タブのリンク先JSP及び、クラス属性については、tabListタグで指定がない場合、tabListタグの値が適用されます。 [共通設定] 初期設定では、第1番目の"有効な"タブが自動的に開かれます。(="true") 各タブの表示方法で、選択不可能なタブが存在している場合は、それらを読み飛ばした上で、"有効な"タブを 検索します。 また、自動で開くタブは、openTabName属性で指定可能であり、これに変数を定義することで、 画面リロード時も、開いていたタブを再度選択された状態で表示することが可能です。 選択したタブ及び非選択のタブの枠線や、背景色等を変更する場合は、custom.cssでクラスを定義し、 変更して下さい。 タブの表示方向(水平方向 or 垂直方向)については、orientation属性で変更することが可能です。 (初期値は、水平方向) 水平方向にした場合は、listCount属性により強制的に一定数のタブを表示する毎に、改行を挿入することができます。 このタグを使用する場合は、headタグで必ずuseTabLink="true"を指定してJavaScriptをロードして下さい。 各属性は、{@XXXX} 変数が使用できます。 これは、ServletRequest から、XXXX をキーに値を取り出し,この変数に割り当てます。 つまり、このXXXXをキーにリクエストすれば、この変数に値をセットすることができます。
    関連項目:
    直列化された形式
    機能分類
    画面表示
    形式サンプル:
    ●形式:<og:tabLink href="…" … /> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:tabLink listType 【TAG】タブの一覧をどこから取得するかを指定します(初期値:AUTO) href 【TAG】リンク先のJSPを指定します(初期値:result.jsp) target 【TAG】リンクのターゲットを指定します(初期値:RESULT) openTab 【TAG】リンク表示にタブリンクを自動で開くかどうか[true/false]を指定します(初期値:true[=開く]) openTabName 【TAG】最初に開くタブリンクの名前を指定します constKeys 【TAG】次画面に渡す定数パラメーターのキーを指定します constVals 【TAG】次画面に渡す定数パラメーターの値を指定します listCount 【TAG】1行辺りに表示するタブの数を指定します(初期値:10) selClass 【TAG】選択タブのクラスを指定します(初期値:selTab) unselClass 【TAG】非選択タブのクラスを指定します(初期値:unselTab) orientation 【TAG】タブの方向、横型(Horizontal)か縦型(Vertical)を指定します(初期値:横型) width 【TAG】タブリンクの幅を % 、px 、または "auto" で指定します height 【TAG】タブの高さを、% 、px 、または "auto" で指定します debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:tabLink> ●使用例 ①DBからタブリストを取得する場合 Body部分に記述されたクエリよりタブ一覧を生成します。 <og:tabLink listType = "DB" タブの一覧をどこから取得するか href = "result.jsp" リンク先のJSP target = "RESULT" リンクターゲット openTab = "[true/false]" タブ表示後にタブを自動で開く openTabName = "{@PN} 自動で開くタブの名前 constKeys = "KEY1" 次画面に固定で渡すキー一覧 constVals = "{@VAL1}" 次画面に固定で渡す値一覧 listCount = "10" 1行辺りに表示するタブの数 selClass = "selTab" 選択タブのクラス unselClass = "unselTab" 非選択タブのクラス width = "100px" タブリンクの幅 height = "50px" タブリンクの高さ > select PN,HINM,'tabClass','query.jsp','ADMIN','false' from XX01 where PN = '{@PN}' order by PN </og:tabLink> ②tabListタグからタブリストを生成する場合 tabListタグよりタブ一覧を生成します。 <og:tabLink listType = "DB" タブの一覧をどこから取得するか href = "result.jsp" リンク先のJSP target = "RESULT" リンクターゲット openTab = "[true/false]" タブ表示後にタブを自動で開く openTabName = "{@PN} 自動で開くタブの名前 constKeys = "KEY1" 次画面に固定で渡すキー一覧 constVals = "{@VAL1}" 次画面に固定で渡す値一覧 listCount = "10" 1行辺りに表示するタブの数 selClass = "selTab" 選択タブのクラス unselClass = "unselTab" 非選択タブのクラス width = "100px" タブリンクの幅 height = "50px" タブリンクの高さ > <og:tabList name="TAB1" href="result1.jsp" keys="PN,CDK" vals="ABC,V" /> <og:tabList name="TAB2" href="result2.jsp" keys="PN,CDK" vals="BCD,W" /> <og:tabList name="TAB3" href="result3.jsp" keys="PN,CDK" vals="CDE,X" /> </og:tabLink>
    バージョン
    0.9.0 2008/09/26
    作成者
    Nakamura
    導入されたバージョン:
    JDK1.4,
    • コンストラクタの詳細

      • TabLinkTag

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

      • doStartTag

        public int doStartTag()
        Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
        定義:
        doStartTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doStartTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示( EVAL_BODY_BUFFERED )
      • doAfterBody

        public int doAfterBody()
        Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
        定義:
        doAfterBody インタフェース内 javax.servlet.jsp.tagext.IterationTag
        オーバーライド:
        doAfterBody クラス内 CommonTagSupport
        戻り値:
        後続処理の指示(SKIP_BODY)
        変更履歴:
        6.3.1.1 (2015/07/10) BodyString,BodyRawStringは、CommonTagSupport で、trim() します。
      • doEndTag

        public int doEndTag()
        Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
        定義:
        doEndTag インタフェース内 javax.servlet.jsp.tagext.Tag
        オーバーライド:
        doEndTag クラス内 CommonTagSupport
        戻り値:
        後続処理の指示
        変更履歴:
        4.3.5.0 (2008/02/01) 処理及び内部構造を大幅に見直し
      • release2

        protected void release2()
        タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
        オーバーライド:
        release2 クラス内 CommonTagSupport
      • addTag

        protected void addTag​(String hr,
                              String name,
                              String label,
                              String clz,
                              boolean visible,
                              String[] keys,
                              String[] vals)
        子タグであるタブリストタグからタブ情報をセットします。
        パラメータ:
        hr - 画面URL
        name - タブの名前
        label - タブの表示名称
        clz - 非選択状態のタブに付加するclass名
        visible - タブが選択可能 [true:可能/false:不可能]
        keys - リンク先のJSPに渡すキー一覧
        vals - リンク先のJSPに渡す値一覧
      • setListType

        public void setListType​(String tp)
        【TAG】タブの一覧をどこから取得するか[AUTO/DB/TAG]を指定します(初期値:AUTO)。
        パラメータ:
        tp - 取得方法 [AUTO/DB/TAG]
        変更履歴:
        6.4.3.4 (2016/03/11) CSV形式の文字連結を、stream 経由で行います。
        説明:
        タブの一覧をどこから取得するかを指定します。 現状の実装では、クエリを発行して一覧を生成する「DB」と、子タグである tabListタグを列挙してタブを定義する「TAG」が実装されています。 また、「AUTO」と指定した場合は、Body部分の内容に応じて自動的に判定されます。 初期値は、「AUTO」です。
      • setHref

        public void setHref​(String hr)
        【TAG】リンク先のJSPを指定します(初期値:result.jsp)。
        パラメータ:
        hr - リンク先のJSP
        説明:
        リンク先のJSPを指定します。 このタブリンクは、あくまで「タブの形をしたリンク」なので、 target属性と合わせてセットする必要があります。 初期値は、「result.jsp」です。
      • setTarget

        public void setTarget​(String tgt)
        【TAG】リンクのターゲットを指定します(初期値:RESULT)。
        パラメータ:
        tgt - リンクターゲット
        説明:
        リンクのターゲットを指定します。 このタブリンクは、あくまで「タブの形をしたリンク」なので、 target属性を設定し、別のフレームに実画面を表示するようにします。 初期値は、「RESULT」です。
      • setOpenTab

        public void setOpenTab​(String flag)
        【TAG】リンク表示にタブリンクを自動で開くかどうか[true/false]を指定します(初期値:true[=開く])。
        パラメータ:
        flag - 自動タブオープン [true:自動で開く/false:開かない]
        説明:
        リンク表示にタブリンクを自動で開くかを指定します。 openTabName属性が指定されていない場合、自動で開くタブは 「1番目に表示されたタブリンク」です。 指定されている場合は、その名前を持つ「1番目」のタブが自動で開かれます。 タブが選択不可能な状態の場合は、「1番目」の条件から除外されます。 初期値は、「true(開く)」です。
      • setOpenTabName

        public void setOpenTabName​(String name)
        【TAG】最初に開くタブリンクの名前を指定します。
        パラメータ:
        name - 初期表示タブ名前
        説明:
        最初に開くタブリンクのキーを指定します。
      • setConstKeys

        public void setConstKeys​(String keys)
        【TAG】次画面に渡す定数パラメーターのキーを指定します。
        パラメータ:
        keys - 定数キー (CSV形式)
        関連項目:
        setConstVals( String )
        説明:
        次画面に渡す定数パラメーターのキーを指定します。 キーはCSV形式で複数指定が可能です。 パラメーターの値は、constVals属性の数と一致している必要があります。
      • setConstVals

        public void setConstVals​(String vals)
        【TAG】次画面に渡す定数パラメーターの値を指定します。
        パラメータ:
        vals - 定数値 (CSV形式)
        関連項目:
        setConstKeys( String )
        説明:
        次画面に渡す定数パラメーターの値を指定します。 値はCSV形式で複数指定が可能です。 パラメーターの値は、constKeys属性の数と一致している必要があります。
      • setListCount

        public void setListCount​(String cnt)
        【TAG】1行辺りに表示するタブの数を指定します(初期値:10)。
        パラメータ:
        cnt - 1行タブ数
        説明:
        1行辺りに表示するタブの数を指定します。 1行辺りのタブの数がこの設定を超えると、自動的に折り返します。 また、折り返し毎に、左に10pxのマージンを設けます。 初期値は、10です。 この属性は、orientationがHorizontal(水平方向)の場合のみ有効です。
      • setSelClass

        public void setSelClass​(String cls)
        【TAG】選択タブのクラスを指定します(初期値:selTab)。
        パラメータ:
        cls - 選択タブのクラス名
        説明:
        タブが選択されている状態にある場合の、タブ部分のクラス名を指定します。 このクラス名を変更する場合は、そのクラスをcustom/custom.css等で再定義して下さい。 初期値は、selTabです。
      • setUnselClass

        public void setUnselClass​(String cls)
        【TAG】非選択タブのクラスを指定します(初期値:unselTab)。
        パラメータ:
        cls - 選択タブのクラス名
        説明:
        タブが選択されていない状態にある場合の、タブ部分のクラス名を指定します。 このクラス名を変更する場合は、そのクラスをcustom/custom.css等で再定義して下さい。 初期値は、unselTabです。
      • setOrientation

        public void setOrientation​(String ori)
        【TAG】タブの方向[Horizontal(or H):横型/Vertical(or V):縦型]を指定します(初期値:Horizontal:横型)。
        パラメータ:
        ori - タブの方向 [Horizontal(or H):横型/Vertical(or V):縦型]
        説明:
        タブは、上にタブが並ぶ横型と左にタブが並ぶ縦型があります。 この属性では、横型は、Horizontal 、縦型は、Vertical を指定します。 指定は、文字列の最初の一文字を見ているだけですので、HかVでも構いません。 縦型(Vertical)にした場合、各タブ要素は、フレームサイズの幅に合わせて 最大で表示されます。幅を固定する場合は、width属性を指定して下さい。 初期値は、横型(Horizontal) です。
      • setWidth

        public void setWidth​(String wh)
        【TAG】タブリンクの幅を % 、px 、または "auto" で指定します(初期値:auto)。
        パラメータ:
        wh - 幅 (% 、px 、または "auto" )
        説明:
        初期値は、"auto"(自動設定) です。 autoの場合、横型表示では、文字の幅に合わせて自動的に調整され、 縦型表示の場合は、フレームサイズに合わせて拡大して表示されます。
      • setHeight

        public void setHeight​(String ht)
        【TAG】タブの高さを、% 、px 、または "auto" で指定します(初期値:auto)。
        パラメータ:
        ht - 高さ (% 、px 、または "auto" )
        説明:
        タブの高さを、% 、px 、または "auto" で指定します 初期値は、"auto"(自動設定) です。
      • toString

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