openGionopenGion
5.6.6.0

org.opengion.hayabusa.taglib
クラス BizLogicTag

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

業務ロジックを呼び出すためのタグです。 logics属性に呼び出す業務ロジックのクラス名を記述します。 このタグでは、複数の業務ロジックを1度に呼び出すことができ、 DB接続のcommit,rollbackは一番最後に、1度のみ実行されます。 各業務ロジックは、記述した順番に呼び出されます。 業務ロジックは、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) 新規作成
機能階層
業務ロジック
バージョン
5.0
作成者
Hiroki Nakamura
導入されたバージョン:
JDK1.6,

フィールドの概要
static java.lang.String CMD_ENTRY
          command 引数に渡す事の出来る コマンド エントリー "ENTRY"
 
クラス 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
 
コンストラクタの概要
BizLogicTag()
           
 
メソッドの概要
 int doEndTag()
          Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
 int doStartTag()
          Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
protected  int[] getParameterRows()
          表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
protected  void release2()
          タグリブオブジェクトをリリースします。
 void setCommand(java.lang.String cmd)
          【TAG】コマンドをセットします(初期値:ENTRY)。
 void setDbid(java.lang.String id)
          【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。
 void setKeys(java.lang.String key)
          【TAG】リンク先に渡すキーをCSV形式で複数指定します。
 void setLogics(java.lang.String lgs)
          【TAG】実行する業務ロジック名を指定します。
 void setModifyType(java.lang.String type)
          【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。
 void setMulti(java.lang.String flag)
          【TAG】vals属性でパラメーターを取得する際、複数件存在する場合に、値を連結するかどうかを指定します(初期値:false)。
 void setQuotCheck(java.lang.String flag)
          【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true])。
 void setSelectedAll(java.lang.String all)
          【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
 void setStopError(java.lang.String flag)
          【TAG】処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。
 void setTableId(java.lang.String id)
          【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します。
 void setVals(java.lang.String val)
          【TAG】リンク先に渡す値をCSV形式で複数指定します。
 void setXssCheck(java.lang.String flag)
          【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=true])。
 java.lang.String toString()
          このオブジェクトの文字列表現を返します。
 
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
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, getNVLAttri, 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
 
クラス 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
 

フィールドの詳細

CMD_ENTRY

public static final java.lang.String CMD_ENTRY
command 引数に渡す事の出来る コマンド エントリー "ENTRY"

関連項目:
定数フィールド値
コンストラクタの詳細

BizLogicTag

public BizLogicTag()
メソッドの詳細

doStartTag

public int doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doStartTag
オーバーライド:
クラス CommonTagSupport 内の doStartTag
戻り値:
後続処理の指示(SKIP_BODY)
変更履歴:
5.3.4.0 (2011/04/01) command=ENTRY以外ではDBTableModelの処理を行わない。

doEndTag

public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doEndTag
オーバーライド:
クラス CommonTagSupport 内の doEndTag
戻り値:
後続処理の指示
変更履歴:
5.1.8.0 (2010/07/01) isMulti対応
5.3.4.0 (2011/04/01) command=ENTRY以外ではDBTableModelの処理を行わない。

release2

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

オーバーライド:
クラス CommonTagSupport 内の release2
変更履歴:
5.1.8.0 (2010/07/01) isMultiを追加
5.1.9.0 (2010/08/01) Transaction 対応

setCommand

public void setCommand(java.lang.String cmd)
【TAG】コマンドをセットします(初期値:ENTRY)。

パラメータ:
cmd - コマンド(public static final 宣言されている文字列)
関連項目:
コマンド定数
説明:
 command=ENTRY以外ではDBTableModelの処理を行いません。
 コマンドは,HTMLから[get/post]指定されますので,CMD_xxx で設定される
 フィールド定数値のいづれかを、指定できます。

setLogics

public void setLogics(java.lang.String lgs)
【TAG】実行する業務ロジック名を指定します。

パラメータ:
lgs - 業務ロジック名
説明:
 実行する業務ロジック名を指定します。業務ロジック名は、クラス名を指定します。
 クラス名については、クラス自身の名称のみを指定することができます。
 (パッケージ名を含めた完全な形のクラス名を指定することもできます)
 また、カンマ区切りで、複数指定することもできます。
 この場合、指定した順番に処理されます。

setDbid

public void setDbid(java.lang.String id)
【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します。

パラメータ:
id - データベース接続ID
説明:
 Queryオブジェクトを作成する時のDB接続IDを指定します。
 これは、システムリソースで、DEFAULT_DB_URL 等で指定している データベース接続先
 情報に、XX_DB_URL を定義することで、 dbid="XX" とすると、この 接続先を使用して
 データベースにアクセスできます。

setTableId

public void setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します。

パラメータ:
id - sessionに登録する時の ID
説明:
 検索結果より、DBTableModelオブジェクトを作成します。これを、以下のview 等のタグに
 渡す場合に、通常は、session を利用します。その場合の登録キーです。
 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、
 この tableId 属性を利用して、メモリ空間を分けます。
 初期値は、HybsSystem.TBL_MDL_KEY です。

setSelectedAll

public void setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。

パラメータ:
all - データを全件選択済み [true:全件選択済み/false:通常]
説明:
 全てのデータを選択済みデータとして扱って処理します。
 全件処理する場合に、(true/false)を指定します。
 初期値は false です。

setModifyType

public void setModifyType(java.lang.String type)
【TAG】DB検索時の モディファイタイプを指定します[A:追加/C:更新/D:削除]。

パラメータ:
type - DB検索時のモディファイタイプ [A:追加/C:更新/D:削除]
説明:
 DB検索時に、そのデータをA(追加)、C(更新)、D(削除)のモディファイタイプを
 つけた状態にします。
 その状態で、そのまま、update する事が可能になります。

setKeys

public void setKeys(java.lang.String key)
【TAG】リンク先に渡すキーをCSV形式で複数指定します。

パラメータ:
key - リンク先に渡すキー(CSV形式)
説明:
 リンク先に渡すキーを指定します。
 Keysだけを指定して、Valsを指定しない場合、Keysで指定された項目名に対応するパラメーターを取得し、
 Valsとして使用します。
変更履歴:
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用

setVals

public void setVals(java.lang.String val)
【TAG】リンク先に渡す値をCSV形式で複数指定します。

パラメータ:
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対応

setStopError

public void setStopError(java.lang.String flag)
【TAG】処理エラーの時に処理を中止するかどうか[true/false]を設定します(初期値:true)。

パラメータ:
flag - [true:中止する/false:中止しない]
説明:
 false(中止しない)に設定する場合、後続処理では、{@DB.ERR_CODE}の値により、
 PLSQL/SQLの異常/正常終了によって分岐処理は可能となります。
 初期値は、true(中止する)です。

setQuotCheck

public void setQuotCheck(java.lang.String flag)
【TAG】リクエスト情報の クォーティション(') 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true])。

パラメータ:
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}])。

setXssCheck

public void setXssCheck(java.lang.String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか[true/false]を設定します (初期値:USE_XSS_CHECK[=true])。

パラメータ:
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}])。

setMulti

public void setMulti(java.lang.String flag)
【TAG】vals属性でパラメーターを取得する際、複数件存在する場合に、値を連結するかどうかを指定します(初期値:false)。

パラメータ:
flag - パラメーター連結するかどうか
説明:
 この属性がtrueに指定された場合、パラメーターが複数存在する場合に、カンマで連結します。
 初期値は、false(連結しない)です。
変更履歴:
5.1.8.0 (2010/07/01) 新規作成

getParameterRows

protected int[] getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。

オーバーライド:
クラス CommonTagSupport 内の getParameterRows
戻り値:
選択行の配列

toString

public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

オーバーライド:
クラス CommonTagSupport 内の toString
戻り値:
このクラスの文字列表現

openGion 5.6.6.0

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