パッケージ 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

- すべての実装されたインタフェース:
    `java.io.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：なし ●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) />
  変更履歴:
    3.8.0.2 (2005/07/11) 新規作成
  バージョン
    0.9.0 2000/10/17
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    - ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

      `BR, BUFFER_MIDDLE, CR`

    - ### クラスから継承されたフィールド 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`

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `RequestValueTag()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `int` | `doEndTag()` | Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `protected void` | `release2()` | タグリブオブジェクトをリリースします。
    `void` | `setDate​(java.lang.String val)` | 【TAG】日付関係の値を取得します。
    `void` | `setDb​(java.lang.String val)` | 【TAG】データベース実行結果を取得します。
    `void` | `setGui​(java.lang.String val)` | 【TAG】{@GUI.XXXX} と同等のGUIInfoオブジェクトの値を取得します。
    `void` | `setLbl​(java.lang.String val)` | 【TAG】ラベルリソースのラベルIDを指定します。
    `void` | `setMem​(java.lang.String val)` | 【TAG】{@MEM.XXXX} と同等のREQUEST_CACHE の値を取得します。
    `void` | `setNvar​(java.lang.String val)` | 【TAG】Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します。
    `void` | `setSession​(java.lang.String val)` | 【TAG】session Attribute の値を取得します。
    `void` | `setSys​(java.lang.String val)` | 【TAG】{@SYS.XXXX} と同等のシステムパラメータ の値を取得します。
    `void` | `setUser​(java.lang.String val)` | 【TAG】{@USER.XXXX} と同等のUserInfoオブジェクトの値を取得します。
    `java.lang.String` | `toString()` | このオブジェクトの文字列表現を返します。

    - ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

      `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, getSubstrAttri, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, getValsAttri, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, 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`

- - ### コンストラクタの詳細

    - #### 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​(java.lang.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' の形式で取得できます。 任意 ユーザーパラメータ(GE16) の値/システムパラメータ(GE12)の値を取得 {@SYS.COOKIE.カラム名}で、Cookie の読み込みを行えます。 上記以外に、予約語や、システムパラメータ の値の読取が可能です。

    - #### setUser

          public void setUser​(java.lang.String val)

      【TAG】{@USER.XXXX} と同等のUserInfoオブジェクトの値を取得します。
      パラメータ:
        `val` - ﾕｰｻﾞｰID
      説明:
        ユーザーパラメータとは異なります。 以下の値は UserInfo オブジェクトの項目から取得します。 ・JNAME ユーザー日本語名称 ・ID ユーザーＩＤ ・IDNO USER.ID が５Byte以上の時のみ先頭１文字を除いたユーザーＩＤ ・INFO ユーザー情報(ユーザーID：日本語名称) ・LANG 言語 ・ROLES ロール ・IPADDRESS IPアドレス ・LOGINTIME ログイン時刻 以下の値はあらかじめ、動的に作成されます。 ・YMD ８byte の今日のシステム日付 ・YMDH １４byte の今日のシステム日時 それ以外は、外部より設定された値です。

    - #### setGui

          public void setGui​(java.lang.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​(java.lang.String val)

      【TAG】{@MEM.XXXX} と同等のREQUEST_CACHE の値を取得します。
      パラメータ:
        `val` - ﾒﾓﾘｷｰ
      説明:
        検索時の request 情報をキャッシュしているメモリ上から値を取り出します。 通常は、query_init.jsp で定義されている GAMENID付の リクエストキャッシュ情報を取り出します。

    - #### setLbl

          public void setLbl​(java.lang.String val)

      【TAG】ラベルリソースのラベルIDを指定します。
      オーバーライド:
        `setLbl` クラス内 `CommonTagSupport`
      パラメータ:
        `val` - ﾗﾍﾞﾙID
      関連項目:
        `CommonTagSupport.getMsglbl()`
      説明:
        {@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 は、先頭文字１文字で判断していますので、{@LBL.XXXX Short}と記述できます。 Y 引数には、@で始まるリクエスト引数が指定できます。例えば、{@LBL.XXXX @ZZ} とすると、ZZ のリクエスト引数の値が Y に適用されます。 ラベルキーそのものをパラメータ化することが出来ます。 これは、{@LBL.@XXXX}という形式になります。引数は、先の説明と同じです。 この場合は、XXXX をキーにリクエスト引数の値が、ラベルリソースのキーになります。

    - #### setDb

          public void setDb​(java.lang.String val)

      【TAG】データベース実行結果を取得します。
      パラメータ:
        `val` - 取得ｷｰ
      説明:
        検索結果の件数を、"DB.COUNT" キーでリクエストにセットしています。 検索結果を、"DB.ERR_CODE" キーでリクエストにセットしています。 これらは、リクエストのアトリビュートへセットしている為、query タグや、 directWriteTable タグの処理以降のリクエストスコープ中での取得になります。

    - #### setSession

          public void setSession​(java.lang.String val)

      【TAG】session Attribute の値を取得します。
      パラメータ:
        `val` - ｾｯｼｮﾝｷｰ
      説明:
        session スコープに登録されているアトリビュートオブジェクトの値を 取り出します。

    - #### setDate

          public void setDate​(java.lang.String val)

      【TAG】日付関係の値を取得します。
      パラメータ:
        `val` - 日付ｷｰ
      説明:
        これは、{@DATE.XXXX AA BB} 引数処理をおこなうための、サポートメソッドです。 引数は、"XXXX AA BB" という状態で受け取ります。(DATE. ははずした形) "XXXX" は、日付処理を行うキー文字列で予約語になっています。 ・YMD　　：８文字の日付データ(200X年XX月XX日)を扱います。 ・Y2MD　 ：６文字の日付データ(0X年XX月XX日)を扱います。 ・YM　　 ：６文字の日付データ(200X年XX月)を扱います。 ・HMS　　：６文字の時刻データ(XX時XX分XX秒)を扱います。 ・YMDHMS ：１４文字の日付データ(200X年XX月XX日XX時XX分XX秒)を扱います。 ・EEE　　：曜日をデフォルトロケールで表示します。 F付きは、フォーマットされた日付を返します。 ・YMDF　 ：８文字の日付データ(200X年XX月XX日)を扱います。 ・Y2MDF　：６文字の日付データ(0X年XX月XX日)を扱います。 ・YMF　　：６文字の日付データ(200X年XX月)を扱います。 ・HMSF　 ：６文字の時刻データ(XX時XX分XX秒)を扱います。 ・YMDHMSF：１４文字の日付データ(200X年XX月XX日XX時XX分XX秒)を扱います。 AA 引数は、基準となる日付を、YYYYMMDD形式で指定します。無指定の場合は、 処理時刻を基準にした、同一タグ内での同一日付(年月日時分秒)を使用して値を取得します。 指定できる日付は、必ず、YYYYMMDD形式とし、時分秒は ゼロにリセットされた状態になります。 AA には、数字で始まる(20050701など)実日付と@で始まるパラメータが使用できます。 @ZZ と記述することで、{@ZZ}で指定する場合と同様のリクエストパラメータが使用できます。 このパラメータの値は、YYYYMMDD形式の数字か、null(またはゼロストリング)です。nullの 場合は、なにも指定されていないと判断して、処理時刻を使用します。 第２引数は、(数字か、@)以外の場合は、省略されたと判断されます。 BB 引数は、日付についての加減算処理を行います。 省略すると、なにも加減算処理を行いません。 ・SD ：当月の最初の日付にセットします。(当月１日) ・ED ：当月の最後の日付にセットします。(当月月末) ・SM ：本年の最初の月にセットします。(本年１月) ・EM ：本年の最後の月にセットします。(本年１２月) ・SW ：日付処理の週初め(月曜日)にセットします。日付は当日より前に移動します。 ・EW ：日付処理の週末(日曜日)にセットします。日付は当日より後ろに移動します。 ・D1 ～ DXXX ：日を指定の分だけ進めます。D1なら翌日、D200 なら200日後 ・M1 ～ MXXX ：月を指定の分だけ進めます。M1なら翌月、M6 なら半年後

    - #### setNvar

          public void setNvar​(java.lang.String val)

      【TAG】Unicode文字列の値を HTML のエスケープ記号(&#xZZZZ;)に変換します。
      パラメータ:
        `val` - Unicode文字列
      説明:
        HTMLでのエスケープ文字を使用して、Unicodeを文字列化して登録する為の変換を行います。 ここでは、入力文字を、キャラクタ(char)型に分解し、(&#xZZZZ;)に変換していきます。 よって、通常に１文字(Shift-JISで２Byte,UTF-8で３Byte)が、８Byteになります。 この変換された文字列を、HTML上でそのまま取り出すと、元のUnicode文字に戻る為、 通常のShift-JISでは、扱えない文字(中国語など)でも表示可能になります。

    - #### toString

          public java.lang.String toString()

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