openGionopenGion
5.5.3.0

org.opengion.hayabusa.taglib
クラス ViewCrossParamTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 javax.servlet.jsp.tagext.BodyTagSupport
          上位を拡張 org.opengion.hayabusa.taglib.CommonTagSupport
              上位を拡張 org.opengion.hayabusa.taglib.ViewParamTag
                  上位を拡張 org.opengion.hayabusa.taglib.ViewCrossParamTag
すべての実装されたインタフェース:
java.io.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 ViewCrossParamTag
extends ViewParamTag

viewタグの viewFormType が HTMLCrossTable の場合にパラメータを設定します。 クロス集計を行う、ViewForm_HTMLCrossTable クラスに対して、各種パラメータを 設定します。 パラメータが設定されていない場合は、ViewCrossTableParam の初期値が使用されます。 (パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。) SELECT文は、CROSS集計機能を利用して求めます。そのときのフォーマットは、 ヘッダー1..N,縦,横,計1..N になります。
ヘッダー部は、複数指定できますが、デフォルトではヘッダーNがキーブレイクすると 合計用のヘッダーが挿入されます。また、ヘッダーは、前段と同じ値の場合は、表示しません。 合計は、複数並べることができますが、sumNumber で指定しておく必要があります。 各属性は、{@XXXX} 変数が使用できます。 これは、ServletRequest から、XXXX をキーに値を取り出し,この変数に割り当てます。 つまり、このXXXXをキーにリクエストすれば、この変数に値をセットすることができます。 http://localhost/query.jsp?KEY1=VLA1&KEY2=VAL2 のようなリクエストで、{@KEY1} とすれば、 VAL1 がセットされます。

関連項目:
直列化された形式
形式サンプル:
 ●形式:<og:crossParam breakColumn="ZZZ" noGroupColumns="AAA,BBB" sumNumber="2" />
 ●body:なし

 ●使用例
     ViewFormTag の viewFormType が、HTMLCrossTable の場合に使用します。
     useParam 属性を設定しておかないと、使用されません。
     <og:view
         viewFormType = "HTMLCrossTable"
         command      = "{@command}"
         startNo      = "0"
         pageSize     = "20"
         useParam     = "true"
     >
         <og:crossParam
             breakColumn    = "ZZZ"       : ブレークによりヘッダー部を出力させるカラム名
             noGroupColumns = "AAA,BBB"   : カラム値を前段と比較して同じ場合でも表示させるカラム名
             cubeXColumn    = "CUBE_X"    : CUBE計算の1つ目(X)カラムを指定
             cubeYColumn    = "CUBE_Y"    : CUBE計算の2つ目(Y)カラムを指定
             shokeiLabel    = "SHOKEI"    : 列小計のカラムに表示するラベルID(初期値:SHOKEI)
             gokeiLabel     = "GOKEI"     : 列合計のカラムに表示するラベルID(初期値:GOKEI)
             sumNumber      = "2"         : 合計値のカラム数(初期値1)
             cubeSortType   = "NUMBER"    : CUBE Y の列ヘッダーのソート方式を指定[STRING/NUMBER/LOAD]
             gokeiSortDir   = "false"     : 合計行のソート有無とその方向(正方向/逆方向)を指定[true/false/null]
             firstClmGokei  = "true"      : 合計列をCUBEの先頭部分に出すかどうかを指定[false/true/null]
             useHeaderColumn= "true"      : ヘッダーカラムにレンデラー、エディターを適用するかどうかを指定[false/true/null]
             saveTableId    = "DEFAULT"   : クロス集計結果の DBTableModel をセーブするセッションキーワードを指定
             useClassAdd    = "true"      : String 各列情報のclass属性に、カラム名などを付与するかどうかを指定[false/true/null]
        />
     </og:view >
機能階層
画面表示
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
 
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド
bodyContent
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
id, pageContext
 
インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
EVAL_BODY_AGAIN
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
コンストラクタの概要
ViewCrossParamTag()
           
 
メソッドの概要
protected  java.lang.String getTagName()
          タグの名称を、返します。
 void setBreakColumn(java.lang.String clm)
          【TAG】ブレークによりヘッダー部を出力させるカラム名をセットします(初期値:ヘッダーN)。
 void setCubeSortType(java.lang.String cubeSortType)
          【TAG】CUBE Y の列ヘッダーのソート方式を指定します(初期値:LOAD)。
 void setCubeXColumn(java.lang.String cubeX)
          【TAG】CUBE計算の1つ目(X)カラムを指定します。
 void setCubeYColumn(java.lang.String cubeY)
          【TAG】CUBE計算の2つ目(Y)カラムを指定します。
 void setFirstClmGokei(java.lang.String firstClmGokei)
          【TAG】合計列をCUBEの先頭部分に出すかどうかを指定します。
 void setGokeiLabel(java.lang.String id)
          【TAG】列合計のカラムに表示するラベルIDを指定します(初期値:空文字列)。
 void setGokeiSortDir(java.lang.String gokeiSortDir)
          【TAG】合計行のソート有無とその方向(正方向/逆方向)を指定します[true/false/null](初期値:null)。
 void setNoGroupColumns(java.lang.String clms)
          【TAG】カラム値を前段と比較して同じ場合でも表示させるカラム名
 void setSaveScope(java.lang.String scope)
          【TAG】クロス集計結果の DBTableModel をセーブする scope を指定します。
 void setSaveTableId(java.lang.String id)
          【TAG】クロス集計結果の DBTableModel をセーブするセッションキーワードを指定します。
 void setShokeiLabel(java.lang.String id)
          【TAG】列小計のカラムに表示するラベルIDを指定します(初期値:空文字列)。
 void setSumNumber(java.lang.String no)
          【TAG】合計値のカラム数(初期値:1)
 void setUseClassAdd(java.lang.String useClassAdd)
          【TAG】各列情報のclass属性に、カラム名などを付与するかどうかを指定します(初期値:false)。
 void setUseHeaderColumn(java.lang.String useHeaderColumn)
          【TAG】ヘッダーカラムにレンデラー、エディターを適用するかを指定します(初期値:false)。
 
クラス org.opengion.hayabusa.taglib.ViewParamTag から継承されたメソッド
doEndTag, putParam, release2, toString
 
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
 
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド
getParent, setPageContext, setParent
 

コンストラクタの詳細

ViewCrossParamTag

public ViewCrossParamTag()
メソッドの詳細

setBreakColumn

public void setBreakColumn(java.lang.String clm)
【TAG】ブレークによりヘッダー部を出力させるカラム名をセットします(初期値:ヘッダーN)。

パラメータ:
clm - ブレークさせるカラム名
説明:
 CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
ヘッダー部は、複数指定できますが、デフォルトではヘッダーNがキーブレイクすると 合計用のヘッダーが挿入されます。 このヘッダーNそのものが、集計フィールドでなく、単なる属性の場合は、 キーブレイクして欲しくない為、breakColumn="ヘッダーN-1" を指定します。 初期値は、"ヘッダーN" です。

setNoGroupColumns

public void setNoGroupColumns(java.lang.String clms)
【TAG】カラム値を前段と比較して同じ場合でも表示させるカラム名

パラメータ:
clms - グループ化(空白化)したくないカラム(カンマ区切り)
説明:
 CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
ヘッダー部は、キーブレイクする都度、ヘッダーを出力します。それまでは、 各ヘッダーの値が、前段(同一カラムの先の値)と同じ場合は、空白にします。 こうする事で、値のグループ化が一目で判ります。(初期設定)
このヘッダーが、集計フィールドでなく、単なる属性の場合は、 空白ではなく、値として表示したい為、グループ化しない事を指定します。

setSumNumber

public void setSumNumber(java.lang.String no)
【TAG】合計値のカラム数(初期値:1)

パラメータ:
no - 合計値のカラム数(初期値1)
説明:
 CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
合計は、複数並べることができますが、sumNumber で指定しておく必要があります。 初期値は、1 です。

setShokeiLabel

public void setShokeiLabel(java.lang.String id)
【TAG】列小計のカラムに表示するラベルIDを指定します(初期値:空文字列)。

パラメータ:
id - 列小計のカラムに表示するラベルID
説明:
 各列の小計のラベルIDを登録します。登録する文字列は、ラベルリソースに
 定義しておいて下さい。
 初期値は、空文字列("")です。
変更履歴:
3.7.1.1 (2005/05/31) 初期値を "SHOKEI" に設定します。

setGokeiLabel

public void setGokeiLabel(java.lang.String id)
【TAG】列合計のカラムに表示するラベルIDを指定します(初期値:空文字列)。

パラメータ:
id - 列合計のカラムに表示するラベルID
説明:
 各列の合計のラベルIDを登録します。登録する文字列は、ラベルリソースに
 定義しておいて下さい。
 初期値は、空文字列("")です。
変更履歴:
3.7.1.1 (2005/05/31) 初期値を "GOKEI" に設定します。

setCubeXColumn

public void setCubeXColumn(java.lang.String cubeX)
【TAG】CUBE計算の1つ目(X)カラムを指定します。

パラメータ:
cubeX - 列合計のカラムに表示するラベルID
説明:
 列方向のキーとなるカラム名を指定します。
 初期値は、互換性の関係より、sumNumber より逆計算します。
変更履歴:
3.5.5.9 (2004/06/07) 新規追加

setCubeYColumn

public void setCubeYColumn(java.lang.String cubeY)
【TAG】CUBE計算の2つ目(Y)カラムを指定します。

パラメータ:
cubeY - 列合計のカラムに表示するラベルID
説明:
 行方向のキーとなるカラム名を指定します。
 初期値は、互換性の関係より、sumNumber より逆計算します。
変更履歴:
3.5.5.9 (2004/06/07) 新規追加

setCubeSortType

public void setCubeSortType(java.lang.String cubeSortType)
【TAG】CUBE Y の列ヘッダーのソート方式を指定します(初期値:LOAD)。

パラメータ:
cubeSortType - CUBE Y の列ヘッダーのソート方式[STRING,NUMBER,LOAD]
説明:
 CUBEのヘッダーに対応するカラム列をソート表示する場合の方式を指定します。
 種類として、STRING,NUMBER,LOAD,があります。
 初期値(指定無し)は、LOAD(取り込み順にセット)です。
変更履歴:
3.5.6.3 (2004/07/12) 新規追加

setGokeiSortDir

public void setGokeiSortDir(java.lang.String gokeiSortDir)
【TAG】合計行のソート有無とその方向(正方向/逆方向)を指定します[true/false/null](初期値:null)。

パラメータ:
gokeiSortDir - 合計行のソート有無とその方向(正方向/逆方向)[true/false/null]
説明:
 最も最後の合計カラムにソートを行うかどうか、その時の方向を指定します。
 true/false 以外の文字列では、ソートを行いません。trueは、正方向(昇順)で、
 falseが逆方向(降順)になります。
 初期値(指定無し)は、ソートしない(null)です。
変更履歴:
3.5.6.3 (2004/07/12) 新規追加

setFirstClmGokei

public void setFirstClmGokei(java.lang.String firstClmGokei)
【TAG】合計列をCUBEの先頭部分に出すかどうかを指定します。(初期値:false)

パラメータ:
firstClmGokei - String 合計列をCUBEの先頭部分に出すかどうかを指定(true/false)
説明:
 合計列を最終列に出力するか、CUBEの先頭列に出力するかを指定します。
 trueが指定された場合はCUBEの先頭列に出力します。
 初期値(false)は合計列を最終列に出力します。
変更履歴:
5.0.0.3 (2009/09/22) 新規追加

setUseHeaderColumn

public void setUseHeaderColumn(java.lang.String useHeaderColumn)
【TAG】ヘッダーカラムにレンデラー、エディターを適用するかを指定します(初期値:false)。

パラメータ:
useHeaderColumn - String ヘッダーカラムにレンデラー、エディターを適用するかどうか
説明:
 ヘッダーカラムにレンデラー、エディターを適用するかを指定します。
 trueが指定された場合は、ヘッダー部分の値そのものをカラム名として扱います。
 リソースが存在しない場合は、ラベルのみを各カラムの値で置き換えます。
 初期値(指定無し)は、レンデラー、エディターを適用しない(false)です。
変更履歴:
4.0.0.0 (2007/11/27) 新規追加
5.2.2.0 (2010/11/01) キーに、ViewCrossTableParam.USE_HEADER_COLUMN を使用するように修正

setUseClassAdd

public void setUseClassAdd(java.lang.String useClassAdd)
【TAG】各列情報のclass属性に、カラム名などを付与するかどうかを指定します(初期値:false)。

パラメータ:
useClassAdd - String 各列情報のclass属性に、カラム名などを付与するかどうか
説明:
 列情報の集計列に対して、class 属性を付与するかどうかを指定します。
 class属性は、その列のオリジナルの属性名と、ラベル名の文字列を設定します。
 例えば、集計行の計カラムが複数ある場合は、それぞれに色を指定して、ゼブラ模様を
 設定できます。また、ラベル(表示ヘッダー)も設定されるので、特別な列のみ指定することも
 可能になります。
 ※ 特殊対応:cssなどで指定できるIDやCLASS属性は、先頭文字が数字の場合は、
 無効になります。(つまり、効きません。)
 表示ヘッダーは、年月や、社員番号(数字)などのケースもあります。そこで、先頭が数字の
 場合は、"x"(小文字のx)を自動的に頭に追加します。この処理は、ViewForm_HTMLCrossTable
 で行います。
変更履歴:
5.2.2.0 (2010/11/01) 新規追加

setSaveTableId

public void setSaveTableId(java.lang.String id)
【TAG】クロス集計結果の DBTableModel をセーブするセッションキーワードを指定します。

パラメータ:
id - sessionに登録する時の ID
説明:
 検索のみの場合は、何も設定しません。EXCEL等外部にクロス集計の形で
 取り出したい場合に、設定します。
 "DEFAULT" という文字列を指定すると、内部では、HybsSystem.TBL_MDL_KEY が
 設定されます。(DEFAULT という文字列に設定されるわけではありません。)
 なお、DEFAULT を使用する場合は、検索結果の DBTbleModel をつぶすことになります
 ので、NEXT 等は使えません。DBTableModel のデータを利用した forward 等も
 使用できませんので、十分ご注意ください。
 DEFAULT 以外の文字列の場合は、指定した文字列そのものがキーになります。
 他のセッションキーと同じにすると動作が不安定になりますので、使用する場合は、
 "CROSS_TABLE_SAVE_KEY" を推奨致します。
 指定しない場合は、セッションにセーブされません。(検索されたまま)
 通常、EXCEL出力等を行う場合は、DBTableModel をセーブする必要がありますが、
 scope="session" にセーブすると、PREV,NEXT が使えなくなります。これは、
 クロス集計時に元のカラムが表形式の別のカラムに置き換えられるためです。
 scope="request" では、エラーは発生しなくなりますが、外部に取り出せなくなります。
変更履歴:
5.2.2.0 (2010/11/01) キーに、ViewCrossTableParam.SAVE_TABLEID_KEY を使用するように修正

setSaveScope

public void setSaveScope(java.lang.String scope)
【TAG】クロス集計結果の DBTableModel をセーブする scope を指定します。

パラメータ:
scope - scopeに登録する時の キー
関連項目:
setSaveTableId( String )
説明:
 スコープは (request,page,session,applicaton) がありますが、request か session が
 通常選択されます。
 また、この設定が有効になるには、saveTableId を指定する必要があります。
 saveTableId を指定しないと、そもそも書き出されないため、scope は無視されます。

 scope="session" にセーブすると、PREV,NEXT が使えなくなります。これは、
 クロス集計時に元のカラムが表形式の別のカラムに置き換えられるためです。
 scope="request" では、エラーは発生しなくなりますが、外部に取り出せなくなります。
 何も指定しない場合は、viewタグに指定されたオリジナルのスコープに書き出されます。
 そうで無い場合は、指定のスコープに書き出されます。
変更履歴:
5.2.2.0 (2010/11/01) 新規追加

getTagName

protected java.lang.String getTagName()
タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。

オーバーライド:
クラス CommonTagSupport 内の getTagName
戻り値:
タグの名称
関連項目:
CommonTagSupport.getDocumentLink()
変更履歴:
4.0.0 (2005/01/31) 新規追加

openGion 5.5.3.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.