public class CookieTag extends CommonTagSupport
●形式: <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}" />
3.8.0.2 (2005/06/30) 新規作成 |
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
ACT_DELETE
action 引数に渡す事の出来る アクション 削除 "DELETE"
|
static java.lang.String |
ACT_LOAD
action 引数に渡す事の出来る アクション 取得 "LOAD"
|
static java.lang.String |
ACT_SAVE
action 引数に渡す事の出来る アクション 設定 "SAVE"
|
コンストラクタと説明 |
---|
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, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, 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, useXssCheck
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
クラス内 CommonTagSupport
protected void release2()
release2
クラス内 CommonTagSupport
public void setAction(java.lang.String act)
act
- アクション(public static final 宣言されている文字列)アクションは,HTMLから(get/post)指定されますので,ACT_xxx で設定される フィールド定数値のいづれかを、指定できます。 無指定の場合は、なにもしません。
action | 名称 | 機能 |
---|---|---|
SAVE | 登録 | 指定の keys のキーに vals の値をセットします。 |
LOAD | 取得 | 指定の keys のクッキーを(リクエスト中に)取得します。 |
DELETE | 削除 | 指定の keys のクッキーを削除します。 |
public void setKeys(java.lang.String key)
key
- クッキーのキークッキーにセットするときのキーを指定します。カンマ区切りで複数指定できます。 vals 属性には、キーに対応する値を、設定してください。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setAliasNames(java.lang.String names)
names
- クッキーの別名クッキーから値を取得する(action="LOAD")場合に、読み込みキー(keys)に対応する 別名を指定することで、別名の変数に読み込んだ値を登録することが出来ます。 別名を指定しない場合は、keys に指定された名前が、使用されます。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setVals(java.lang.String val)
val
- keys属性に対応する値キーに設定した値を、カンマ区切り文字で複数して出来ます。 指定順序は、キーと同じにしておいて下さい。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
public void setPath(java.lang.String uri)
uri
- パスを指定するStringこの値を指定すると Cookie が該当するディレクトリ内、さらに、 サブディレクトリに存在する全てのページから参照できるようになります。 Cookie のパスには Cookie をセットした Servlet が含まれていなければなりません。 例えば、/catalog を指定したとします。このとき、 サーバの /catalog 以下の全ての ディレクトリから Cookie が見えるようになります。 初期値は、"/" + CONTEXT_NAME です。 Cookie のパス名指定についての詳細は RFC2109 を参照してください。
public void setDomain(java.lang.String pattern)
pattern
- この Cookie が見えてもよいドメイン名を指定するStringドメイン名の形式は RFC2109 で指定されています。 ドメイン名は (.foo.com のように) ドットで始まります。 このように設定すると、 Cookie は指定された Domain Name System (DNS) のゾーン内のサーバから見える ようになります(例えば、www.foo.com) からは見えるけれど、a.b.foo.com からは 見えないというようにです)。 デフォルトでは Cookie を付与したサーバにしか送り返しません。
public void setMaxAge(java.lang.String expiry)
expiry
- Cookie の最長存続期間を秒単位で指定する整数値。 負の値は Cookie を保存しない、 0 なら Cookie を削除する意味となる。正の値が指定されると Cookie はある秒数が過ぎた後、削除されます。 この値は、Cookie の有効期限が切れる 最長 存続期間であることに注意してください。 Cookie の現在までの存続期間ではありません。 負の値は Cookie が永続的に保存されないことを意味しています。 この場合、 Web ブラウザが終了すると Cookie も削除されます。 0 という値を指定すると Cookie が削除されることになります。 初期値は、-1(永続的に保存されない)です。
public void setUseBase64(java.lang.String flag)
flag
- 漢字等の文字を扱う場合に、BASE64で処理を行うかどうか[true/false]クッキーへの読み書きは、ASCII に限られます。漢字等のコードを書き込む場合は、 BASE64でエンコードして書き込む必要があります。読み込む場合も同様です。 ただし、一般のASCIIは、BASE64 ではエンコードしないため、外部で指定する必要があります。 BASE64 で書き込んだ場合ば、{@SYS.COOKIE.CDJ} での取得はできませんので、 action="LOAD" で、取得してください。 初期値は、false(使用しない)です。
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.