public class ColumnSetTag extends CommonTagSupport
●形式:<og:entry command="…">
<og:setColumn
command ="…" : entryタグのcommandと一致する場合に実行
columnId ="…" : 処理を行うカラムIDを指定(必須,複数指定可)
action ="…" : 処理方法を指定
value ="…" : 設定する値を指定(action="TBLSET"のみ[カラム名]使用可能)
conditionKey ="…" : 条件判定するカラムIDを指定(初期値は columnId )
conditionList ="…" : 条件判定する値のリストを、"|"で区切って登録(初期値は、無条件)
/>
</og:entry>
●body:なし
●Tag定義:
<og:columnSet
command 【TAG】コマンド(INSERT/COPY/MODIFY/DELETE/ENTRY/CHANGE/RESET/ALLRESET/ALLACTION/RESETDATA/INSERTONE/REALDELETE/REQENTRY)を設定します
columnId ○【TAG】カラムIDをセットします(複数指定時は、カンマ区切り文字で設定する)(必須)。
value 【TAG】値をセットします
action 【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET//WRTCTRL/DBMENU/REQSET/SEQSET)をセットします
conditionKey 【TAG】条件判定するカラムIDを指定します(初期値は columnId )
conditionList 【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)
caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20)
caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20)
caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
/>
●使用例
<og:entry command="{@command}" >
<og:columnSet command="{@command}" columnId="ECNO" action="CLEAR" />
<og:columnSet command="{@command}" columnId="JYOKYO" action="SET" value="1" />
</og:entry>
<og:entry command="MODIFY" rows="1" >
<og:columnSet command="MODIFY" columnId="key" action="TBLSET" value ="[key][lang]"/>
</og:entry>
command属性 は、entryタグのcommand属性と同一の場合のみ、処理します。
[command属性]
INSERT 新規
COPY 複写
MODIFY 変更
DELETE 削除
ENTRY エントリー
CHANGE チェンジ
RESET リセット
ALLRESET 全件リセット
ALLACTION オールアクション
RESETDATA リセットデータ
INSERTONE 新規(1行のみ)
REALDELETE 物理削除
REQENTRY リクエスト変数設定
[action属性]
DEFAULT カラムリソースで定義した初期値をセットします。
CLEAR 値をクリア(ゼロストリング "" )します。
ADD 現在の値を +1 します。 0 ⇒ 1 , A ⇒ B , 9 ⇒ 10。value属性と併用すれば、指定の値を加算できます。
SET value で設定した値を 新しい値として登録します。
NULLSET 元の値が NULL の場合だけ、value で設定した新しい値を登録します。
LOWER 小文字に変換します。
UPPER 大文字に変換します。
COPY value にコピー元のカラムIDをセットすれば、その値を代入します。
TBLSET DBTableModel の内容を取り込んで指定の columnId カラムに設定します。
[カラム名] で指定できます。
また、これは文字列を解析して、 value を作成しますので,文字列連結等に使用できます。
WRTCTRL writableControl を使用したカラムデータの先頭アンダーバーを削除します。
DBMENU DBMENUでパラメータ設定(コロン連結文字)を使用したカラムデータの先頭データのみにします。
REQSET valueで指定したカラムの値をキーに、リクエスト変数から値を取出し、セットします。
SEQSET valueの初期値を利用して、1レコードごとに、+1した値をセットします。
PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。
SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。
その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。bodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE| コンストラクタと説明 |
|---|
ColumnSetTag() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAction(String action)
【TAG】アクション(DEFAULT/CREAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET/WRTCTRL/DBMENU/REQSET/SEQSET/PREFIX/SUFIX)をセットします。
|
void |
setColumnId(String clmid)
【TAG】カラムIDをセットします(複数指定時は、カンマ区切り文字で設定する)。
|
void |
setCommand(String command)
【TAG】コマンド(INSERT,COPY,MODIFY,DELETE,ENTRY,CHANGE,RESET,ALLACTION)を設定します。
|
void |
setConditionKey(String key)
【TAG】条件判定するカラムIDを指定します(初期値は columnId )。
|
void |
setConditionList(String list)
【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
|
void |
setStrictCheck(String strict)
【TAG】カラムIDが存在しないときに無視するかどうかを指定します(初期値:true)。
|
void |
setValue(String value)
【TAG】値をセットします。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doEndTag, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheckdoInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParent, setPageContext, setParentpublic ColumnSetTag()
public int doStartTag()
doStartTag インタフェース内 TagdoStartTag クラス内 CommonTagSupport| 3.6.0.6 (2004/10/22) columnNo に伴なう削除 |
| 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加 |
protected void release2()
release2 クラス内 CommonTagSupport| 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
| 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
| 3.6.0.6 (2004/10/22) columnNo に伴なう変更 |
public void setCommand(String command)
command - コマンド上位の EntryTag のコマンドと一致した場合のみ、処理されます。 ここでは、コマンド文字列の整合性チェックは行っていません。
public void setAction(String action)
action - アクション文字列ここでは、アクション文字列の整合性チェックを行っておりません。 DEFAULT カラムリソースで定義した初期値をセットします。 CREAR 値をクリア(ゼロストリング "" )します。 ADD 現在の値を +1 します。 0 ⇒ 1 , A ⇒ B , 9 ⇒ 10。value属性と併用すれば、指定の値を加算できます。 SET value で設定した値を 新しい値として登録します。 NULLSET 元の値が NULL の場合だけ、value で設定した新しい値を登録します。 LOWER 小文字に変換します。 UPPER 大文字に変換します。 COPY value にコピー元のカラムIDをセットすれば、その値を代入します。 TBLSET DBTableModel の内容を取り込んで指定の columnId カラムに設定します。[カラム名] で指定できます。 WRTCTRL writableControl を使用したカラムデータの先頭アンダーバーを削除します。 DBMENU DBMENUでパラメータ設定(コロン連結文字)を使用したカラムデータの先頭データのみにします。 REQSET valueで指定したカラムの値をキーに、リクエスト変数から値を取出し、セットします。 SEQSET valueの初期値を利用して、1レコードごとに、+1した値をセットします。 PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。 SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。 その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。
public void setColumnId(String clmid)
clmid - カラムID処理を適用するカラムIDを指定します。 全く同じ内容を設定する場合には、カラム名をCSV形式(カンマ区切り)で 複数指定することが可能です。
| 3.6.0.6 (2004/10/22) columnNo に伴なう変更 |
public void setConditionKey(String key)
key - カラムIDsetConditionList( String )指定のカラムIDの値と、conditionList の値を比較して、 存在する場合は、action処理を実行します。 例えば、初期値設定(action="DEFAULT")で、値が "0" の場合だけ適用するような ケースに使用できます。 指定しない場合は、columnId と同じキーになります。 注意:columnId は、CSV形式で複数同時に指定できます。その場合は、 conditionKey には、複数設定する機能はありませんので、全カラムに 同一カラムを使用する場合は、conditionKey に値を設定できます。 値を設定しない場合は、自動的に、columnId と同一になります。
| 3.6.0.6 (2004/10/22) 新規追加 |
public void setConditionList(String list)
list - 条件判定する値("|"区切)setConditionKey( String )conditionKey とペアで指定します。ここには、カラムの設定値のリストを 指定することで、複数条件(OR結合)での比較を行い、リストにカラム値が 存在する場合のみ、action処理を実行します。 設定しない場合は、無条件に実行します。
| 3.6.0.6 (2004/10/22) 新規追加 |
public void setStrictCheck(String strict)
strict - 無視するかどうか[true/false]カラムセットする場合は、DBTableModel に存在するカラムに対してのみ、 処理を適用するべきで、通常存在しないカラムを使用した場合は、Exception が throw されます。(strictCheck="true" 初期値の動作です。) ところが、動的テーブル検索などでカラムが不特定な場合、DBTableModel に 存在しない場合に、無視したい場合があります。その場合は、strictCheck="false" に設定すると、カラムが存在しない場合は、エラーにせず、無視します。 初期値は、true:厳格に処理する です。
| 4.0.0.0 (2006/09/31) 新規追加 |
public String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.