クラス ValueMapTag

  • すべての実装されたインタフェース:
    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 ValueMapTag
    extends CommonTagSupport
    DBTableModelオブジェクトから、指定のキー情報と、レコードから、Mapオブジェクトを作成し、それを、 BODY部のフォーマットに対応して、出力します。 valueタグの、command="MAPOBJ" や、ALL_MAPOBJ に相当する処理を、複数キーと行レベルのデータで 管理します。 設定した値は、Mapを優先した、特殊な、{@XXXX} 形式で 取り出すことができます。 keys で、CSV形式でカラム名を指定し、これらを、連結した文字列を、Mapのキー情報に使います。 Mapの値情報は、そのレコードの配列になります。 keys を指定しない場合は、最初のカラムの値が、キーになります。 キーが重複する場合、先に現れたデータが優先されます。 値の取出し方法は、キーに対して、{@XXXX} 形式を、適用します。 Map に存在しないキーは、リクエスト変数や、通常のvalus変数を見ます。 valClm で、{@XXXX} 形式で取り出す値のカラムを指定できます。 valClm を指定しない場合は、2番目のカラムを使用します。 特殊機能 ・holdTag属性:{@XXXX} を、指定のタグで囲います。 例えば、holdTag="span" とすると、<span class="YYYYの値" >XXXXの値</span> という文字列を作成します。 ・clsClms属性:先の指定のタグで囲う場合、そのタグのclass属性を指定できます。 複数指定した場合は、スペースで、連結します。 ・{@XXXX cls="B"} とすると、個別の clsClms の値を使用せず、この値を、class属性として使います。 clsClms と同様に、holsTag属性を指定しておく必要があります。 ・tipsClms属性:先の指定のタグで囲う場合、そのタグのtitle属性を指定できます。 マウスオーバーで、チップス表示されます。 ・{@XXXX tips="YYYY"} とすると、個別の tipsClms の値を使用せず、この値を、title属性として使います。 tipsClms と同様に、holsTag属性を指定しておく必要があります。 ・nnClms属性:この属性で指定された値が、nullの場合、{@XXXX} の解析を行いません。 正確に言うと、Mapに取り込みません。この場合、先のholdTag属性で指定したタグそのものも 出力しません。 ・{@XXXX* str="val"} とすると、キーワードのあいまい検索部分に、strで指定した val文字列が存在する場合のみ有効とします。 ・キーに対して、Mapは、行データ全部を持っています。{@XXXX} は、最初のカラムの値です。 ・2番目を取得する場合は、{@XXXX 1}と、3番目は、{@XXXX 2}と指定します。 ・{@XXXX*} を指定すると、キーのあいまい検索で、キーそのものを複数選択することが出来ます。 この場合、spanタグで囲う機能と併用すると、複数のspanタグを持つ文字列を合成できます。 この特定のタグは、holdTag 属性で指定します。 このキーのあいまい検索で、表示する順番は、DBTableModelでMapに読み込んだ順番になります。 {@XXXX* 2} のような、取得カラムの指定も可能です。 取得カラムの指定も可能ですが、カラム番号は、常に一番最後に記述してください。 ・{@XXXX!*} とすると、表示する順番を、逆順にすることが出来ます。取得カラムの指定も可能です。 ・{@$XXXX} とすると、holdTagも、clsClms も使用せず、設定値のみ出力します。 この場合は、固定値になるため、holsTagも、clsClms も使用しません。 ・{@*XXXX!*} とすると、キーのあいまい指定の残り部分の文字列を出力します。連番の場合の番号を取り出せます。 ・{@^XXXX} とすると、request.getAttribute()の値を優先して使用します。{@^XXXX*}などのあいまい指定も可能です。 この場合、オリジナルのキーは、DBTableModel上に必要です。値の入れ替えのみ、行う感じです。 ※ このタグは、Transaction タグの対象です。
    関連項目:
    直列化された形式
    導入されたバージョン:
    JDK8.0,
    • コンストラクタの詳細

      • ValueMapTag

        public ValueMapTag()
        デフォルトコンストラクター
    • メソッドの詳細

      • doStartTag

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

        public int doAfterBody()
        Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
        定義:
        doAfterBody インタフェース内 javax.servlet.jsp.tagext.IterationTag
        オーバーライド:
        doAfterBody クラス内 CommonTagSupport
        戻り値:
        後続処理の指示(SKIP_BODY)
      • doEndTag

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

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

        protected int[] getParameterRows()
        表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
        オーバーライド:
        getParameterRows クラス内 CommonTagSupport
        戻り値:
        選択行の配列
      • setSelectedAll

        public void setSelectedAll​(String all)
        【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
        パラメータ:
        all - 選択済み処理可否 [true:全件選択済み/false:通常]
      • setTableId

        public void setTableId​(String id)
        【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
        パラメータ:
        id - テーブルID (sessionに登録する時のID)
      • setKeys

        public void setKeys​(String key1)
        【TAG】パラメータ に登録するキーをセットします。
        パラメータ:
        key1 - 登録キー
      • setValClm

        public void setValClm​(String clm)
        【TAG】パラメータ から取り出す値カラムを指定ます。
        パラメータ:
        clm - 取り出す値カラム
      • setNnClms

        public void setNnClms​(String clms)
        【TAG】パラメータが NULL の時に、設定しないカラム名を、CSV形式で指定します。
        パラメータ:
        clms - NULL の時に、設定しないカラム名を、CSV形式で指定
      • setHoldTag

        public void setHoldTag​(String tag)
        【TAG】値の前後を、挟むタグを指定します。
        パラメータ:
        tag - 値の前後を挟むタグ
        関連項目:
        setClsClms( String )
      • setClsClms

        public void setClsClms​(String clms)
        【TAG】holdTagを使用するとき、そのタグの属性にclass属性を出力する場合のカラム名をCSV形式で指定します。
        パラメータ:
        clms - class属性を出力する場合のカラム名を、CSV形式で指定
        関連項目:
        setHoldTag( String )
      • setTipsClms

        public void setTipsClms​(String clms)
        【TAG】holdTagを使用するとき、そのタグの属性にtitle属性を出力する場合のカラム名をCSV形式で指定します。
        パラメータ:
        clms - title属性を出力する場合のカラム名を、CSV形式で指定
        関連項目:
        setHoldTag( String )
      • setReqAttUpClms

        public void setReqAttUpClms​(String clms)
        【TAG】{@^XXXX}使用時に request.getAttribute() をセットすると同時に設定するカラム名をCSV形式で指定します。
        パラメータ:
        clms - request.getAttribute()使用時に、同時に置き換えるカラム名を、CSV形式で指定
      • setSeparator

        public void setSeparator​(String sepa)
        【TAG】キーとなるカラム名の値を連結する項目区切り文字をセットします(初期値:"_")。
        パラメータ:
        sepa - 連結文字列 (初期値:"_")
      • setXssCheck

        public void setXssCheck​(String flag)
        【TAG】パラメータの HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=])。
        パラメータ:
        flag - XSSチェック [true:する/false:しない]
        関連項目:
        SystemData.USE_XSS_CHECK
      • toString

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