public class CookieTag extends CommonTagSupport
Cookie を読み書きするタグです。 Cookie は少量の情報を Servlet から Web ブラウザに送り、 ブラウザにそれを 維持しもらい、以降のアクセスでサーバに送り返してもらう仕組です。 Cookie の値はクライアントを一意に識別できるようになっているので一般に セッション管理に用いられています。 Cookie には名前と値が一つありますが、他にコメントやパス、ドメイン、 最長存続期間、バージョンといったオプショナルな属性もあります。 Web ブラウザの中にはオプショナルな属性の扱いにバグがあるものがあります。 このため、Servlet の相互運用性を高めるためにはあまり使わないほうがいいでしょう。 標準の JavaScript で登録機能はサポートしていましたが、メモリのみで、かつ 画面単位の書き込みのみでした。 今回の cookie タグでは、永続化(maxAge)の設定や、システム内(CONTEXT_NAME以下) での共有(デフォルト)や、その変更、ドメインを指定しての共有(domain)などの 機能を持っています。 また、漢字コードでの読み書き(useBase64)にも対応しています。 読み込みに関しては、漢字を指定しなければ、{@SYS.COOKIE.カラム名}で、使用可能です。 複数の読み込み、また、漢字コードを含むクッキーの場合は、読み込み(action="LOAD") してください。指定のキー以外に、別名に読み込む(aliasNames)事も可能です。
●形式: <og:cookie action = "SAVE" Cookie に対するアクションを指定します。(SAVE|LOAD|DELETE) keys = "AAA,BBB" キーをCSV形式で複数指定できます。 vals = "VAL1,VAL2" 値をCSV形式で複数指定できます。 path = "/ge" クライアントがこの Cookie を返さなくてはいけないパスを指定します。 domain = ".foo.com" この Cookie がどこで生成されたかを表すドメインを指定します。 maxAge = "3600" Cookie の最長存続期間を秒単位で設定します。 useBase64 = "false" 漢字等の2Byte文字を使用する場合に、BASE64で処理します。[true/false] > ●body:なし ●Tag定義: <og:cookie action ○【TAG】アクション(SAVE,LOAD,DELETE)をセットします(必須)。 keys ○【TAG】クッキーのキーをCSV形式で複数指定します(必須)。 vals 【TAG】keys属性に対応する値をCSV形式で複数指定します aliasNames 【TAG】クッキーのキーの別名をCSV形式で複数指定します path 【TAG】クライアントがこの Cookie を返さなくてはいけないパスを指定します(初期値:/+CONTEXT_NAME) domain 【TAG】この Cookie がどこで生成されたかを表すドメインを指定します(初期値:付与したサーバ) maxAge 【TAG】Cookie の最長存続期間を秒単位で設定します(初期値: -1 ) useBase64 【TAG】漢字等の文字を扱う場合に、BASE64で処理を行うかどうか[true/false]を設定します(初期値:false ) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 例1)設定:複数キーを同時に書き込むことが可能です。 <og:cookie action="SAVE" keys="CDJ,FG_NAME" vals="{@CDJ},{@NAME}" /> 例2)取得:cookieタグで取得すると、それ以降では {@CDJ} や {@NAME} で扱えます。 aliasNames 属性を使わない場合は、keys に指定した変数にセットされます。 <og:cookie action="LOAD" keys="CDJ,FG_NAME" aliasNames="CDJ,NAME" /> 例3)取得:SYS パラメータでの取得も可能です。 {@SYS.COOKIE.CDJ} 例4) QUERY画面では値の表示(LOAD)を行い、RESULT画面で値の設定(SAVE)を行うケース QUERY画面 <og:cookie action="LOAD" useBase64="true" keys="CLM,NAME" aliasNames="CLM,LABEL_NAME" /> <og:column name="CLM" defaultVal="{@CLM}" /> <og:column name="LABEL_NAME" defaultVal="{@LABEL_NAME}"/> RESULT画面 <og:cookie action="SAVE" maxAge="360000" useBase64="true" keys="CLM,NAME" vals="{@CLM},{@LABEL_NAME}" /> 例5) QUERY画面では、{@SYS.COOKIE.カラム名} で取得。 RESULT画面では、ムラタ内全システム共通に使える値をセット。 QUERY画面 <og:column name="SYSTEM_ID" defaultVal="{@SYS.COOKIE.SYSTEM_ID}" /> RESULT画面 <og:cookie action="SAVE" maxAge="360000" domain=".opengion.org" keys="SYSTEM_ID" vals="{@SYSTEM_ID}" />
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
ACT_DELETE
action 引数に渡す事の出来る アクション 削除 "DELETE"
|
static java.lang.String |
ACT_LOAD
action 引数に渡す事の出来る アクション 取得 "LOAD"
|
static java.lang.String |
ACT_SAVE
action 引数に渡す事の出来る アクション 設定 "SAVE"
|
BR, BUFFER_MIDDLE, CR
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
CookieTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAction(java.lang.String act)
【TAG】アクション(SAVE,LOAD,DELETE)をセットします。
|
void |
setAliasNames(java.lang.String names)
【TAG】クッキーのキーの別名をCSV形式で複数指定します。
|
void |
setDomain(java.lang.String pattern)
【TAG】この Cookie がどこで生成されたかを表すドメインを指定します(初期値:付与したサーバ)。
|
void |
setKeys(java.lang.String key)
【TAG】クッキーのキーをCSV形式で複数指定します。
|
void |
setMaxAge(java.lang.String expiry)
【TAG】Cookie の最長存続期間を秒単位で設定します(初期値: -1 )。
|
void |
setPath(java.lang.String uri)
【TAG】クライアントがこの Cookie を返さなくてはいけないパスを指定します(初期値:/+CONTEXT_NAME)。
|
void |
setUseBase64(java.lang.String flag)
【TAG】漢字等の文字を扱う場合に、BASE64で処理を行うかどうか[true/false]を設定します(初期値:false )。
|
void |
setVals(java.lang.String val)
【TAG】keys属性に対応する値をCSV形式で複数指定します。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, 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, 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 static final java.lang.String ACT_SAVE
public static final java.lang.String ACT_LOAD
public static final java.lang.String ACT_DELETE
public CookieTag()
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
protected void release2()
release2
クラス内 CommonTagSupport
public void setAction(java.lang.String act)
act
- アクション (public static final 宣言されている文字列)action | 名称 | 機能 |
---|---|---|
SAVE | 登録 | 指定の keys のキーに vals の値をセットします。 |
LOAD | 取得 | 指定の keys のクッキーを(リクエスト中に)取得します。 |
DELETE | 削除 | 指定の keys のクッキーを削除します。 |
public void setKeys(java.lang.String key)
key
- クッキーのキーpublic void setAliasNames(java.lang.String names)
names
- クッキーの別名public void setVals(java.lang.String val)
val
- keys属性に対応する値public void setPath(java.lang.String uri)
uri
- パスを表すURLpublic void setDomain(java.lang.String pattern)
pattern
- 生成ドメイン名public void setMaxAge(java.lang.String expiry)
expiry
- 最長存続期間(秒) (負の値は Cookie を保存しない、 0 なら Cookie を削除する意味となる)public void setUseBase64(java.lang.String flag)
flag
- BASE64処理可否 [true:する/false:しない]public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.