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"
cubeYColumn = "CUBE_Y"
shokeiLabel = "SHOKEI"
gokeiLabel = "GOKEI"
sumNumber = "2"
cubeSortType = "NUMBER"
gokeiSortDir = "false"
/>
</og:view >
breakColumn : ブレークによりヘッダー部を出力させるカラム名
noGroupColumns : カラム値を前段と比較して同じ場合でも表示させるカラム名
cubeXColumn : CUBE計算の1つ目(X)カラムを指定
cubeYColumn : CUBE計算の2つ目(Y)カラムを指定
sumNumber : 合計値のカラム数(初期値1)
shokeiLabel : 列小計のカラムに表示するラベルID(初期値:SHOKEI)
gokeiLabel : 列合計のカラムに表示するラベルID(初期値:GOKEI)
cubeSortType : CUBE Y の列ヘッダーのソート方式を指定[STRING/NUMBER/LOAD]
gokeiSortDir : 合計行のソート有無とその方向(正方向/逆方向)を指定[true/false/null]
- バージョン
- 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 |
メソッドの概要 |
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 |
setSaveTableId(java.lang.String id)
【TAG】クロス集計結果の DBTableModel をセーブするセッションキーワードを指定します。 |
void |
setShokeiLabel(java.lang.String id)
【TAG】列小計のカラムに表示するラベルIDを指定します(初期値:空文字列)。 |
void |
setSumNumber(java.lang.String no)
【TAG】合計値のカラム数(初期値:1) |
void |
setUseHeaderColumn(java.lang.String useHeaderColumn)
【TAG】ヘッダーカラムにレンデラー、エディターを適用するかを指定します。 |
クラス 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, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionRequest, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, 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
- ブレークさせるカラム名- TagLib:
CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
ヘッダー部は、複数指定できますが、デフォルトではヘッダーNがキーブレイクすると
合計用のヘッダーが挿入されます。
このヘッダーNそのものが、集計フィールドでなく、単なる属性の場合は、
キーブレイクして欲しくない為、breakColumn="ヘッダーN-1" を指定します。
初期値は、"ヘッダーN" です。 |
setNoGroupColumns
public void setNoGroupColumns(java.lang.String clms)
- 【TAG】カラム値を前段と比較して同じ場合でも表示させるカラム名
- パラメータ:
clms
- グループ化(空白化)したくないカラム(カンマ区切り)- TagLib:
CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
ヘッダー部は、キーブレイクする都度、ヘッダーを出力します。それまでは、
各ヘッダーの値が、前段(同一カラムの先の値)と同じ場合は、空白にします。
こうする事で、値のグループ化が一目で判ります。(初期設定)
このヘッダーが、集計フィールドでなく、単なる属性の場合は、
空白ではなく、値として表示したい為、グループ化しない事を指定します。 |
setSumNumber
public void setSumNumber(java.lang.String no)
- 【TAG】合計値のカラム数(初期値:1)
- パラメータ:
no
- 合計値のカラム数(初期値1)- TagLib:
CROSS集計で求めたフォーマットは、『ヘッダー1..N,縦,横,計1..N 』です。
合計は、複数並べることができますが、sumNumber で指定しておく必要があります。
初期値は、1 です。 |
setShokeiLabel
public void setShokeiLabel(java.lang.String id)
- 【TAG】列小計のカラムに表示するラベルIDを指定します(初期値:空文字列)。
- パラメータ:
id
- 列小計のカラムに表示するラベルID- TagLib:
各列の小計のラベルIDを登録します。登録する文字列は、ラベルリソースに
定義しておいて下さい。
初期値は、空文字列("")です。 |
- 変更履歴:
3.7.1.1 (2005/05/31) 初期値を "SHOKEI" に設定します。 |
setGokeiLabel
public void setGokeiLabel(java.lang.String id)
- 【TAG】列合計のカラムに表示するラベルIDを指定します(初期値:空文字列)。
- パラメータ:
id
- 列合計のカラムに表示するラベルID- TagLib:
各列の合計のラベルIDを登録します。登録する文字列は、ラベルリソースに
定義しておいて下さい。
初期値は、空文字列("")です。 |
- 変更履歴:
3.7.1.1 (2005/05/31) 初期値を "GOKEI" に設定します。 |
setSaveTableId
public void setSaveTableId(java.lang.String id)
- 【TAG】クロス集計結果の DBTableModel をセーブするセッションキーワードを指定します。
- パラメータ:
id
- sessionに登録する時の ID- TagLib:
検索のみの場合は、何も設定しません。EXCEL等外部にクロス集計の形で
取り出したい場合に、設定します。
"DEFAULT" という文字列を指定すると、内部では、HybsSystem.TBL_MDL_KEY が
設定されます。(DEFAULT という文字列に設定されるわけではありません。)
なお、DEFAULT を使用する場合は、検索結果の DBTbleModel をつぶすことになります
ので、NEXT 等は使えません。DBTableModel のデータを利用した forward 等も
使用できませんので、十分ご注意ください。
DEFAULT 以外の文字列の場合は、指定した文字列そのものがキーになります。
他のセッションキーと同じにすると動作が不安定になりますので、使用する場合は、
"CROSS_TABLE_SAVE_KEY" を推奨致します。
指定しない場合は、セッションにセーブされません。(検索されたまま) |
setCubeXColumn
public void setCubeXColumn(java.lang.String cubeX)
- 【TAG】CUBE計算の1つ目(X)カラムを指定します。
- パラメータ:
cubeX
- 列合計のカラムに表示するラベルID- TagLib:
列方向のキーとなるカラム名を指定します。
初期値は、互換性の関係より、sumNumber より逆計算します。 |
- 変更履歴:
3.5.5.9 (2004/06/07) 新規追加 |
setCubeYColumn
public void setCubeYColumn(java.lang.String cubeY)
- 【TAG】CUBE計算の2つ目(Y)カラムを指定します。
- パラメータ:
cubeY
- 列合計のカラムに表示するラベルID- TagLib:
行方向のキーとなるカラム名を指定します。
初期値は、互換性の関係より、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]- TagLib:
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]- TagLib:
最も最後の合計カラムにソートを行うかどうか、その時の方向を指定します。
true/false 以外の文字列では、ソートを行いません。trueは、正方向(昇順)で、
falseが逆方向(降順)になります。
初期値(指定無し)は、ソートしない(null)です。 |
- 変更履歴:
3.5.6.3 (2004/07/12) 新規追加 |
getTagName
protected java.lang.String getTagName()
- タグの名称を、返します。
自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。
- オーバーライド:
- クラス
CommonTagSupport
内の getTagName
- 戻り値:
- タグの名称
- 関連項目:
CommonTagSupport.getDocumentLink()
- 変更履歴:
setUseHeaderColumn
public void setUseHeaderColumn(java.lang.String useHeaderColumn)
- 【TAG】ヘッダーカラムにレンデラー、エディターを適用するかを指定します。(初期値:false)
- パラメータ:
useHeaderColumn
- ヘッダーカラムにレンデラー、エディターを適用するかどうか- TagLib:
ヘッダーカラムにレンデラー、エディターを適用するかを指定します。
trueが指定された場合は、ヘッダー部分の値そのものをカラム名として扱います。
リソースが存在しない場合は、ラベルのみを各カラムの値で置き換えます。
初期値(指定無し)は、レンデラー、エディターを適用しない(false)です。 |
- 変更履歴:
4.0.0.0 (2007/11/27) 新規追加 |
setFirstClmGokei
public void setFirstClmGokei(java.lang.String firstClmGokei)
- 【TAG】合計列をCUBEの先頭部分に出すかどうかを指定します。(初期値:false)
- パラメータ:
firstClmGokei
- - TagLib:
合計列を最終列に出力するか、CUBEの先頭列に出力するかを指定します。
trueが指定された場合はCUBEの先頭列に出力します。
初期値(false)は合計列を最終列に出力します。 |
- 変更履歴:
5.0.0.3 (2009/09/22) 新規追加 |
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.