org.opengion.hayabusa.taglib
クラス RequestValueTag
java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.RequestValueTag
- すべての実装されたインタフェース:
- Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally
public class RequestValueTag
- extends CommonTagSupport
{@XXXX} 変数の特殊処理を、動的に実行するタグです。
このタグの目的は、{@XXXX} 変数の使い方をドキュメント化することにあります。
通常は、動的な編集処理を行う必要はありません。
通常のリクエスト変数は、{@XXXX} で取り出すことが可能です。ところが、
{@SYS.XXXX} 、{@USER.XXXX} 、{@GUI.XXXX}、 などのシステム予約の
変数を取り出す場合に、XXXX 部分を動的に変更することは出来ません。
このタグは、簡易的に、XXXX を引数に取り、動的に取り出すことができるようにします。
- 関連項目:
- 直列化された形式
- 機能階層
- 画面部品
- 形式サンプル:
●形式:
<og:requestValue
sys = "XXXX" システムパラメータ の値を取得
user = "ID" UserInfoオブジェクトの値を取得(og:userInfo)
gui = "KEY" GUIInfoオブジェクトの値を取得
mem = "XXXX" REQUEST_CACHE の値を取得
lbl = "XXXX" ラベルリソースの値を取得
msg = "XXXX" メッセージリソースの値を取得
db = "COUNT" データベース実行結果を取得
session = "XXXX" session Attribute の値を取得
date = "XXXX" 日付関係の値を取得
nvar = "XXXX" Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します。
>
●body:なし
- 変更履歴:
3.8.0.2 (2005/07/11) 新規作成 |
- バージョン
- 0.9.0 2000/10/17
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド |
add, add, addEventColumnSQL, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getResource, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setContextAttribute, setCookie, setDebug, setLanguage, setMsglbl, setNoTransitionRequest, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useXssCheck |
RequestValueTag
public RequestValueTag()
doEndTag
public int doEndTag()
- Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
- 定義:
- インタフェース
Tag
内の doEndTag
- オーバーライド:
- クラス
CommonTagSupport
内の doEndTag
- 戻り値:
- int
- 変更履歴:
4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage > getResource().getLabel ) |
release2
protected void release2()
- タグリブオブジェクトをリリースします。
キャッシュされて再利用されるので、フィールドの初期設定を行います。
- オーバーライド:
- クラス
CommonTagSupport
内の release2
setSys
public void setSys(String val)
- 【TAG】{@SYS.XXXX} と同等のシステムパラメータ の値を取得します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
本来は、システムパラメータ の値を取得できますが、システム的な共有値も
取得できるように機能追加しています。
また、ユーザー個別にシステムパラメータを変更できます。この取得は、
システムパラメータとして取得します。(値はユーザー個別値を返します。)
SERVER_NAME このTomcatが実行しているサーバー名 localhost 等
SERVER_URL Portも含むURLアドレス http://localhost:8823/
CONTEXT_URL 実行しているコンテキストのURLアドレス http://localhost:8823/dbdef2/
REAL_PATH / ルートに対応する物理ディレクトリ d:/webapps/dbdef2/ 等
CONTEXT_NAME コンテキスト名(webapps 直下の仮想フォルダ名) dbdef 等
DATE YMDH とほぼ同じですが、'yyyy/MM/dd HH:mm:ss' の形式で取得できます。
任意 ユーザーパラメータ(GE16) の値/システムパラメータ(GE12)の値を取得
{@SYS.COOKIE.カラム名}で、Cookie の読み込みを行えます。
上記以外に、予約語や、システムパラメータ の値の読取が可能です。 |
setUser
public void setUser(String val)
- 【TAG】{@USER.XXXX} と同等のUserInfoオブジェクトの値を取得します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
ユーザーパラメータとは異なります。
以下の値は UserInfo オブジェクトの項目から取得します。
・JNAME ユーザー日本語名称
・ID ユーザーID
・IDNO USER.ID が5Byte以上の時のみ先頭1文字を除いたユーザーID
・INFO ユーザー情報(ユーザーID:日本語名称)
・LANG 言語
・ROLES ロール
・IPADDRESS IPアドレス
・LOGINTIME ログイン時刻
以下の値はあらかじめ、動的に作成されます。
・YMD 8byte の今日のシステム日付
・YMDH 14byte の今日のシステム日時
それ以外は、外部より設定された値です。 |
setGui
public void setGui(String val)
- 【TAG】{@GUI.XXXX} と同等のGUIInfoオブジェクトの値を取得します。
- パラメータ:
val
- 画面情報を取り出すキー- TagLib:
GUIInfo オブジェクトで定義されている属性情報を取り出すことが出来ます。
引数は、"XXXX ID" という状態で受け取ります。(GUI. ははずした形)
XXXXには、画面情報(GUIInfo)の属性キーを指定します。IDが指定されない場合は、
実行中の自分自身の画面が指定されたことになります。
これは、session 登録項目 の HybsSystem#GUIINFO_KEY キー の値で取得します。
この値は,画面が呼び出される毎に毎回設定されており、リクエスト毎に
所得し直す必要があります。
ID に、画面IDを指定した場合は、@ 指定によるリクエスト引数の値を適用できます。
{@GUI.@XXXX ID} や、{@GUI.XXXX @ID} です。(同時指定も可能)
・KEY 画面ID
・ADDRESS 実行アドレス
・REALADDRESS 実行実アドレス
・SEQUENCE 表示順
・GROUPS メニュグループ
・CLASSIFY メニュ分類
・LEVEL メニュ階層番号
・LABEL 画面名称
・NAME 画面名称(=SNAME)
・SNAME 画面名称(short)
・LNAME 画面名称(long)
・ROLES ロールズ
・MODE アクセスモード列(mr,mw,-r,-w の羅列)
・TARGET ターゲット
・PARAM 設定値(パラメータ)
・KBLINK リンク区分
・DESCRIPTION 概要説明 |
setMem
public void setMem(String val)
- 【TAG】{@MEM.XXXX} と同等のREQUEST_CACHE の値を取得します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
検索時の request 情報をキャッシュしているメモリ上から値を取り出します。
通常は、query_init.jsp で定義されている GAMENID付の
リクエストキャッシュ情報を取り出します。 |
setLbl
public void setLbl(String val)
- 【TAG】{@LBL.XXXX} と同等のラベルリソースの値を取得します。
- オーバーライド:
- クラス
CommonTagSupport
内の setLbl
- パラメータ:
val
- キャッシュするサブキー- TagLib:
ラベルリソースのロケールは、ログインユーザーのロケールになります。
これは、{@LBL.XXXX Y} 引数処理をおこなうための、サポートメソッドです。
引数は、"XXXX Y" という状態で受け取ります。(LBL. ははずした形)
ラベルには、通常のラベル(Label)以外に、Short,Tips,Comment の情報を持っています。
{@LBL.XXXX Y} の Y に、先のLabel,Short,Tips,Comment の頭文字('L','S','T','C')を
指定することで、それぞれの状態を取得することが可能になります。
Y を指定しない場合({@LBL.XXXX}) は、'L' が指定された場合と同じ効果があります。
Y は、先頭文字1文字で判断していますので、{@LBL.XXXX Short}と記述できます。
Y 引数には、@で始まるリクエスト引数が指定できます。例えば、{@LBL.XXXX @ZZ}
とすると、ZZ のリクエスト引数の値が Y に適用されます。
ラベルキーそのものをパラメータ化することが出来ます。
これは、{@LBL.@XXXX}という形式になります。引数は、先の説明と同じです。
この場合は、XXXX をキーにリクエスト引数の値が、ラベルリソースのキーになります。 |
setDb
public void setDb(String val)
- 【TAG】データベース実行結果を取得します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
検索結果の件数を、"DB.COUNT" キーでリクエストにセットしています。
検索結果を、"DB.ERR_CODE" キーでリクエストにセットしています。
これらは、リクエストのアトリビュートへセットしている為、query タグや、
directWriteTable タグの処理以降のリクエストスコープ中での取得になります。 |
setSession
public void setSession(String val)
- 【TAG】session Attribute の値を取得します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
session スコープに登録されているアトリビュートオブジェクトの値を
取り出します。 |
setDate
public void setDate(String val)
- 【TAG】日付関係の値を取得します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
これは、{@DATE.XXXX AA BB} 引数処理をおこなうための、サポートメソッドです。
引数は、"XXXX AA BB" という状態で受け取ります。(DATE. ははずした形)
"XXXX" は、日付処理を行うキー文字列で予約語になっています。
・YMD :8文字の日付データ(200X年XX月XX日)を扱います。
・Y2MD :6文字の日付データ(0X年XX月XX日)を扱います。
・YM :6文字の日付データ(200X年XX月)を扱います。
・HMS :6文字の時刻データ(XX時XX分XX秒)を扱います。
・YMDHMS :14文字の日付データ(200X年XX月XX日XX時XX分XX秒)を扱います。
・EEE :曜日をデフォルトロケールで表示します。
F付きは、フォーマットされた日付を返します。
・YMDF :8文字の日付データ(200X年XX月XX日)を扱います。
・Y2MDF :6文字の日付データ(0X年XX月XX日)を扱います。
・YMF :6文字の日付データ(200X年XX月)を扱います。
・HMSF :6文字の時刻データ(XX時XX分XX秒)を扱います。
・YMDHMSF:14文字の日付データ(200X年XX月XX日XX時XX分XX秒)を扱います。
AA 引数は、基準となる日付を、YYYYMMDD形式で指定します。無指定の場合は、
処理時刻を基準にした、同一タグ内での同一日付(年月日時分秒)を使用して値を取得します。
指定できる日付は、必ず、YYYYMMDD形式とし、時分秒は ゼロにリセットされた状態になります。
AA には、数字で始まる(20050701など)実日付と@で始まるパラメータが使用できます。
@ZZ と記述することで、{@ZZ}で指定する場合と同様のリクエストパラメータが使用できます。
このパラメータの値は、YYYYMMDD形式の数字か、null(またはゼロストリング)です。nullの
場合は、なにも指定されていないと判断して、処理時刻を使用します。
第2引数は、(数字か、@)以外の場合は、省略されたと判断されます。
BB 引数は、日付についての加減算処理を行います。
省略すると、なにも加減算処理を行いません。
・SD :当月の最初の日付にセットします。(当月1日)
・ED :当月の最後の日付にセットします。(当月月末)
・SM :本年の最初の月にセットします。(本年1月)
・EM :本年の最後の月にセットします。(本年12月)
・SW :日付処理の週初め(月曜日)にセットします。日付は当日より前に移動します。
・EW :日付処理の週末(日曜日)にセットします。日付は当日より後ろに移動します。
・D1 ~ DXXX :日を指定の分だけ進めます。D1なら翌日、D200 なら200日後
・M1 ~ MXXX :月を指定の分だけ進めます。M1なら翌月、M6 なら半年後 |
setNvar
public void setNvar(String val)
- 【TAG】Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します。
- パラメータ:
val
- キャッシュするサブキー- TagLib:
HTMLでのエスケープ文字を使用して、Unicodeを文字列化して登録する為の変換を行います。
ここでは、入力文字を、キャラクタ(char)型に分解し、(&#xZZZZ;)に変換していきます。
よって、通常に1文字(Shift-JISで2Byte,UTF-8で3Byte)が、8Byteになります。
この変換された文字列を、HTML上でそのまま取り出すと、元のUnicode文字に戻る為、
通常のShift-JISでは、扱えない文字(中国語など)でも表示可能になります。 |
toString
public String toString()
- このオブジェクトの文字列表現を返します。
基本的にデバッグ目的に使用します。
- オーバーライド:
- クラス
CommonTagSupport
内の toString
- 戻り値:
- このクラスの文字列表現
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.