クラス RequestValueTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class RequestValueTag extends CommonTagSupport
{@XXXX} 変数の特殊処理を、動的に実行するタグです。 このタグの目的は、{@XXXX} 変数の使い方をドキュメント化することにあります。 通常は、動的な編集処理を行う必要はありません。 通常のリクエスト変数は、{@XXXX} で取り出すことが可能です。ところが、 {@SYS.XXXX}、{@USER.XXXX}、{@GUI.XXXX} などのシステム予約の 変数を取り出す場合に、XXXX 部分を動的に変更することは出来ません。 このタグは、簡易的に、XXXX を引数に取り、動的に取り出すことができるようにします。
関連項目:
変更履歴:
3.8.0.2 (2005/07/11) 新規作成
機能分類
画面部品
形式サンプル:
●形式: <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:なし ●Tag定義: <og:requestValue sys 【TAG】{@SYS.XXXX} と同等のシステムパラメータ の値を取得します user 【TAG】{@USER.XXXX} と同等のUserInfoオブジェクトの値を取得します gui 【TAG】{@GUI.XXXX} と同等のGUIInfoオブジェクトの値を取得します mem 【TAG】{@MEM.XXXX} と同等のREQUEST_CACHE の値を取得します lbl 【TAG】{@LBL.XXXX} と同等のラベルリソースの値を取得します db 【TAG】データベース実行結果を取得します session 【TAG】session Attribute の値を取得します date 【TAG】日付関係の値を取得します nvar 【TAG】Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) />
導入されたバージョン:
JDK5.0,
  • コンストラクタの詳細

    • RequestValueTag

      public RequestValueTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doEndTag

      public int doEndTag()
      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
      doEndTag インタフェース内 Tag
      オーバーライド:
      doEndTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel ), 6.4.4.1 (2016/03/18) StringBuilderの代わりに、OgBuilderを使用する。
    • release2

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

      public void setSys(String val)
      【TAG】{@SYS.XXXX} と同等のシステムパラメータ の値を取得します。
      パラメータ:
      val - システムID
      説明:
      本来は、システムパラメータ の値を取得できますが、システム的な共有値も 取得できるように機能追加しています。 また、ユーザー個別にシステムパラメータを変更できます。この取得は、 システムパラメータとして取得します。(値はユーザー個別値を返します。) 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' の形式で取得できます。 任意 システムパラメータ(GE12)の値を取得 {@SYS.COOKIE.カラム名}で、Cookie の読み込みを行えます。 上記以外に、予約語や、システムパラメータ の値の読取が可能です。
    • setUser

      public void setUser(String val)
      【TAG】{@USER.XXXX} と同等のUserInfoオブジェクトの値を取得します。
      パラメータ:
      val - ユーザーID
      説明:
      ユーザーパラメータとは異なります。 以下の値は 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 - 画面ID
      説明:
      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 - メモリキー
      説明:
      検索時の request 情報をキャッシュしているメモリ上から値を取り出します。 通常は、query_init.jsp で定義されている GAMENID付の リクエストキャッシュ情報を取り出します。
    • setLbl

      public void setLbl(String val)
      【TAG】ラベルリソースのラベルIDを指定します。
      オーバーライド:
      setLbl クラス内 CommonTagSupport
      パラメータ:
      val - ラベルID
      関連項目:
      説明:
      {@LBL.XXXX} と同等のラベルリソースの値を取得します。 ラベルリソースのロケールは、ログインユーザーのロケールになります。 これは、{@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 - 取得キー
      説明:
      検索結果の件数を、"DB.COUNT" キーでリクエストにセットしています。 検索結果を、"DB.ERR_CODE" キーでリクエストにセットしています。 これらは、リクエストのアトリビュートへセットしている為、query タグや、 directWriteTable タグの処理以降のリクエストスコープ中での取得になります。
    • setSession

      public void setSession(String val)
      【TAG】session Attribute の値を取得します。
      パラメータ:
      val - セッションキー
      説明:
      session スコープに登録されているアトリビュートオブジェクトの値を 取り出します。
    • setDate

      public void setDate(String val)
      【TAG】日付関係の値を取得します。
      パラメータ:
      val - 日付キー
      説明:
      これは、{@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 - Unicode文字列
      説明:
      HTMLでのエスケープ文字を使用して、Unicodeを文字列化して登録する為の変換を行います。 ここでは、入力文字を、キャラクタ(char)型に分解し、(&#xZZZZ;)に変換していきます。 よって、通常に1文字(Shift-JISで2Byte,UTF-8で3Byte)が、8Byteになります。 この変換された文字列を、HTML上でそのまま取り出すと、元のUnicode文字に戻る為、 通常のShift-JISでは、扱えない文字(中国語など)でも表示可能になります。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません