public class BizLogicTag extends CommonTagSupport
BizLogicHelper
の
実装クラス、または、この実装クラスを継承したサブクラスである必要があります。
業務ロジッククラスについては、ホットデプロイ機能により、動的コンパイル、クラスロードが
行われます。
業務ロジックのソースディレクトリは、システムリソースの BIZLOGIC_SRC_PATH で定義されます。
また、同様にクラスディレクトリは、システムリソースの BIZLOGIC_CLASS_PATH で定義されます。
さらに、システムリソースの BIZLOGIC_HOTDEPLOY を false に設定することで、動的コンパイル
、クラスロードを行わなくすることもできます。
この場合、予めコンパイルされたクラスを、初回呼び出し時に1回のみロードされます。
SystemData の USE_SQL_INJECTION_CHECK が true か、quotCheck 属性が true の場合は、
SQLインジェクション対策用のクォーティションチェックを行います。リクエスト引数に
クォーティション(')が含まれると、エラーになります。
同様にUSE_XSS_CHECKがtrueか、xssCheck属性がtrueの場合は、
クロスサイトススクリプティング(XSS)対策のためless/greater than signのチェックを行います。
※ このタグは、Transaction タグの対象です。●形式: ・<og:bizLog logics = "業務ロジックのクラス名" command = "ENTRY" scope = "session" dbid = "DEFAULT" tableId = "DEFAULT" selectedAll = "false" modifyType = "A" keys = "SYSTEM_ID" vals = "{@SYSTEM_ID}" stopError = "true" quotCheck = "true" xssCheck = "true" debug = "false" /> ●body:なし ●Tag定義: <og:bizLogic logics ○【TAG】実行する業務ロジック名を指定します。(必須) command 【TAG】コマンドをセットします(初期値:ENTRY) scope 【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session) dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) modifyType 【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除] keys 【TAG】リンク先に渡すキーをCSV形式で複数指定します vals 【TAG】リンク先に渡す値をCSV形式で複数指定します stopError 【TAG】処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true) quotCheck 【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true]) xssCheck 【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=true]) multi 【TAG】vals属性でパラメーターを取得する際、複数件存在する場合に、値を連結するかどうかを指定します(初期値:false) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <!-- 業務ロジックの呼び出しを行います --> <og:bizLogic logics="org.opengion.logic.gf9110.BizLogic_0001" keys="SYSTEM_ID" vals="{@MEM.SYSTEM_ID}" />
5.1.1.0 (2009/12/01) 新規作成 |
修飾子とタイプ | フィールドと説明 |
---|---|
static String |
CMD_ENTRY
command 引数に渡す事の出来る コマンド エントリー "ENTRY"
|
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
BizLogicTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected int[] |
getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCommand(String cmd)
【TAG】コマンドをセットします(初期値:ENTRY)。
|
void |
setDbid(String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
|
void |
setKeys(String key)
【TAG】リンク先に渡すキーをCSV形式で複数指定します。
|
void |
setLogics(String lgs)
【TAG】実行する業務ロジック名を指定します。
|
void |
setModifyType(String type)
【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。
|
void |
setMulti(String flag)
【TAG】vals属性でパラメーターを取得する際、複数件存在する場合に、値を連結するかどうかを指定します(初期値:false)。
|
void |
setQuotCheck(String flag)
【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_SQL_INJECTION_CHECK[=true])。
|
void |
setSelectedAll(String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
|
void |
setStopError(String flag)
【TAG】処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。
|
void |
setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します。
|
void |
setVals(String val)
【TAG】リンク先に渡す値をCSV形式で複数指定します。
|
void |
setXssCheck(String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します
(初期値:USE_XSS_CHECK[=true])。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, 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
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public int doStartTag()
doStartTag
インタフェース内 Tag
doStartTag
クラス内 CommonTagSupport
5.3.4.0 (2011/04/01) command=ENTRY以外ではDBTableModelの処理を行わない。 |
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
5.1.8.0 (2010/07/01) isMulti対応 |
5.3.4.0 (2011/04/01) command=ENTRY以外ではDBTableModelの処理を行わない。 |
protected void release2()
release2
クラス内 CommonTagSupport
5.1.8.0 (2010/07/01) isMultiを追加 |
5.1.9.0 (2010/08/01) Transaction 対応 |
public void setCommand(String cmd)
cmd
- コマンド(public static final 宣言されている文字列)command=ENTRY以外ではDBTableModelの処理を行いません。 コマンドは,HTMLから[get/post]指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。
public void setLogics(String lgs)
lgs
- 業務ロジック名実行する業務ロジック名を指定します。業務ロジック名は、クラス名を指定します。 クラス名については、クラス自身の名称のみを指定することができます。 (パッケージ名を含めた完全な形のクラス名を指定することもできます) また、カンマ区切りで、複数指定することもできます。 この場合、指定した順番に処理されます。
public void setDbid(String id)
id
- データベース接続IDQueryオブジェクトを作成する時のDB接続IDを指定します。 これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先 情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して データベースにアクセスできます。
public void setTableId(String id)
id
- sessionに登録する時の ID検索結果より、DBTableModelオブジェクトを作成します。これを、以下のview 等のタグに 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 初期値は、HybsSystem.TBL_MDL_KEY です。
public void setSelectedAll(String all)
all
- データを全件選択済み [true:全件選択済み/false:通常]全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、(true/false)を指定します。 初期値は false です。
public void setModifyType(String type)
type
- DB検索時のモディファイタイプ [A:追加/C:更新/D:削除]DB検索時に、そのデータをA(追加)、C(更新)、D(削除)のモディファイタイプを つけた状態にします。 その状態で、そのまま、update する事が可能になります。
public void setKeys(String key)
key
- リンク先に渡すキー(CSV形式)リンク先に渡すキーを指定します。 Keysだけを指定して、Valsを指定しない場合、Keysで指定された項目名に対応するパラメーターを取得し、 Valsとして使用します。
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用 |
public void setVals(String val)
val
- リンク先に渡す値(CSV形式)リンク先に渡す値を指定します。 Keysだけを指定して、Valsを指定しない場合、Keysで指定された項目名に対応するパラメーターを取得し、 Valsとして使用します。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用 |
5.1.8.0 (2010/07/01) isMuitl対応 |
public void setStopError(String flag)
flag
- [true:中止する/false:中止しない]false(中止しない)に設定する場合、後続処理では、{@DB.ERR_CODE}の値により、 PLSQL/SQLの異常/正常終了によって分岐処理は可能となります。 初期値は、true(中止する)です。
public void setQuotCheck(String flag)
flag
- クォーティションチェック [true:する/それ以外:しない]SystemData.USE_SQL_INJECTION_CHECK
SQLインジェクション対策の一つとして、暫定的ではありますが、SQLのパラメータに 渡す文字列にクォーティション(') を許さない設定にすれば、ある程度は防止できます。 数字タイプの引数には、 or 5=5 などのクォーティションを使用しないコードを埋めても、 数字チェックで検出可能です。文字タイプの場合は、必ず (')をはずして、 ' or 'A' like 'A のような形式になる為、(')チェックだけでも有効です。 (') が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_SQL_INJECTION_CHECK[={@og.value org.opengion.hayabusa.common.SystemData#USE_SQL_INJECTION_CHECK}])。
public void setXssCheck(String flag)
flag
- XSSチェックする [true:チェックする/false:しない]SystemData.USE_XSS_CHECK
クロスサイトスクリプティング(XSS)対策の一環としてless/greater than signについてのチェックを行います。 (><) が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 (初期値:システム定数のUSE_XSS_CHECK[={@og.value org.opengion.hayabusa.common.SystemData#USE_XSS_CHECK}])。
public void setMulti(String flag)
flag
- パラメーター連結するかどうかこの属性がtrueに指定された場合、パラメーターが複数存在する場合に、カンマで連結します。 初期値は、false(連結しない)です。
5.1.8.0 (2010/07/01) 新規作成 |
protected int[] getParameterRows()
getParameterRows
クラス内 CommonTagSupport
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.