パッケージ org.opengion.hayabusa.taglib

# クラス QRcodeTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.QRcodeTag

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

public class QRcodeTag extends CommonTagSupport
QRコードに対応したイメージファイルを作成するタグです。 QRコードで表示できる文字数は、バージョン、エンコードモード、エラー訂正レベル に依存します。 また、イメージの大きさは、文字数と１セル辺りのピクセルに依存します。 fileURLは、通常、システムリソースのFILE_URL(=filetemp)なので、fileURL="{@USER.ID}" と するのが一般的です。 ファイル名は、初期値:rqcode ですが、拡張子はimageType(初期値:PNG)を小文字化して追加します。 拡張子が付いている場合は、そのまま使用されます。 また、同一ファイル名の場合、ブラウザキャッシュのため、画像が更新されないことがあるため imgタグのsrc属性に、キャッシュの無効化のための引数を追加しています。

関連項目:
  - 直列化された形式
変更履歴:
  7.2.1.0 (2020/03/13) 新規作成
機能分類
  画面表示
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:qrCode fileURL="{@USER.ID}" > エンコードする文字列 </og:qrCode > ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) または、 ●形式：<og:qrCode value="エンコードする文字列" /> ●Tag定義： <og:qrCode value 【TAG】エンコードする文字列(または、BODY部に記述) version 【TAG】バージョン (2から40の整数)(初期値:5) encodeMode 【TAG】エンコードモード('N':数字モード 'A':英数字モード　'B':8bit byteモード)(初期値:B) errCorrect 【TAG】エラー訂正レベル ('L','M','Q','H')(初期値:M) imageType 【TAG】イメージファイル形式(PNG/JPEG)(初期値:PNG) pixel 【TAG】１セル辺りの塗りつぶしピクセル(初期値:3) fileURL 【TAG】QRイメージファイルを出力するディレクトリ(初期値:FILE_URL) filename 【TAG】QRイメージファイル名 (初期値:rqcode) textEncode 【TAG】byteモード時のテキスト文字エンコード(初期値:Charset.defaultCharset()) 7.2.3.0 (2020/04/10) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:qrCode>
導入されたバージョン:
  JDK11.0,

- ## フィールドの概要

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

  `BR, BUFFER_MIDDLE, CR`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport

  `bodyContent`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport

  `id, pageContext`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag

  `EVAL_BODY_AGAIN`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doAfterBody()`
  Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
  `int`
  `doEndTag()`
  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
  `int`
  `doStartTag()`
  Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
  `protected void`
  `release2()`
  タグリブオブジェクトをリリースします。
  `void`
  `setEncodeMode(String mode)`
  【TAG】エンコードモード('N':数字モード 'A':英数字モード　'B':8bit byteモード)を指定します(初期値:B)。
  `void`
  `setErrCorrect(String crct)`
  【TAG】エラー訂正レベル ('L','M','Q','H')を指定します(初期値:M)。
  `void`
  `setFilename(String fname)`
  【TAG】QRイメージファイル名をセットします(初期値:rqcode)。
  `void`
  `setFileURL(String url)`
  【TAG】 QRイメージファイルを出力するディレクトリを指定します(初期値:FILE_URL)。
  `void`
  `setImageType(String type)`
  【TAG】イメージファイル形式(PNG/JPEG)を指定します(初期値:PNG)。
  `void`
  `setPixel(String px)`
  【TAG】１セル辺りの塗りつぶしピクセルを指定します(初期値:3)。
  `void`
  `setTextEncode(String txtEnc)`
  【TAG】byteモード時のテキスト文字エンコードをセットします(初期値:環境依存)。
  `void`
  `setValue(String val)`
  【TAG】エンコードする文字列(または、BODY部に記述)を指定します。
  `void`
  `setVersion(String ver)`
  【TAG】バージョン (2から40の整数)を指定します(初期値:5)。
  `String`
  `toString()`
  このオブジェクトの文字列表現を返します。

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

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, 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`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport

  `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

  ### クラスから継承されたメソッド jakarta.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`

  ### インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

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

  - ### QRcodeTag

    public QRcodeTag()
    デフォルトコンストラクター
    変更履歴:
      7.2.1.0 (2020/03/13) 新規作成

- ## メソッドの詳細

  - ### doStartTag

    public int doStartTag()
    Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    定義:
      `doStartTag` インタフェース内 `Tag`
    オーバーライド:
      `doStartTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示( EVAL_BODY_BUFFERED )

  - ### doAfterBody

    public int doAfterBody()
    Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    定義:
      `doAfterBody` インタフェース内 `IterationTag`
    オーバーライド:
      `doAfterBody` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示(SKIP_BODY)

  - ### doEndTag

    public int doEndTag()
    Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    定義:
      `doEndTag` インタフェース内 `Tag`
    オーバーライド:
      `doEndTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示
    変更履歴:
      7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加

  - ### release2

    protected void release2()
    タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
    オーバーライド:
      `release2` クラス内 `CommonTagSupport`
    変更履歴:
      7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加

  - ### setValue

    public void setValue(String val)
    【TAG】エンコードする文字列(または、BODY部に記述)を指定します。
    パラメータ:
      `val` - エンコードする文字列(または、BODY部に記述)
    説明:
      エンコードする文字列のバイト数は、バージョン、エンコードモード、エラー訂正レベルに依存します。 また、イメージの大きさは、それらプラス１セル辺りのピクセルも影響します。

  - ### setVersion

    public void setVersion(String ver)
    【TAG】バージョン (2から40の整数)を指定します(初期値:5)。
    パラメータ:
      `ver` - バージョン
    説明:
      エンコードする文字列のバイト数は、エラー訂正レベル、バージョン に依存します。 文字列のバイト数を増やす場合は、バージョンを適切に設定します。

  - ### setEncodeMode

    public void setEncodeMode(String mode)
    【TAG】エンコードモード('N':数字モード 'A':英数字モード　'B':8bit byteモード)を指定します(初期値:B)。
    パラメータ:
      `mode` - エンコードモード
    説明:
      エンコードする文字列の種類に応じて設定します。 日本語等を含む場合は、'B':8bit byteモード にしてください。

  - ### setErrCorrect

    public void setErrCorrect(String crct)
    【TAG】エラー訂正レベル ('L','M','Q','H')を指定します(初期値:M)。
    パラメータ:
      `crct` - エラー訂正レベル
    説明:
      エンコードする文字列のバイト数は、エラー訂正レベル、バージョン に依存します。 通常、初期値のままで問題ありません。

  - ### setImageType

    public void setImageType(String type)
    【TAG】イメージファイル形式(PNG/JPEG)を指定します(初期値:PNG)。
    パラメータ:
      `type` - イメージファイル形式
    説明:
      QRコードのイメージファイルの形式を指定します。 拡張子は自動的にイメージファイル形式(の小文字)がセットされます。

  - ### setPixel

    public void setPixel(String px)
    【TAG】１セル辺りの塗りつぶしピクセルを指定します(初期値:3)。
    パラメータ:
      `px` - ピクセル数
    説明:
      QRコードのイメージファイルの形式を指定します。 拡張子は自動的にイメージファイル形式(の小文字)がセットされます。

  - ### setFileURL

    public void setFileURL(String url)
    【TAG】 QRイメージファイルを出力するディレクトリを指定します(初期値:FILE_URL)。
    パラメータ:
      `url` - 保存先ディレクトリ名
    関連項目:
      - `SystemData.FILE_URL`
    説明:
      この属性で指定されるディレクトリに、QRイメージファイルをセーブします。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、２文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 FILE_URL 属性で指定のフォルダの下に、フォルダを作成します。 初期値は、FILE_URL になるため、通常は{@USER.ID}を指定する必要があります。

  - ### setFilename

    public void setFilename(String fname)
    【TAG】QRイメージファイル名をセットします(初期値:rqcode)。
    パラメータ:
      `fname` - ファイル名
    説明:
      ファイルを作成するときのファイル名をセットします。 ファイル名の拡張子は、imageType属性の小文字を追加します。 拡張子付きで指定した場合(ファイル名に、ピリオドを含む場合)は、 そのままの値を使用します。

  - ### setTextEncode

    public void setTextEncode(String txtEnc)
    【TAG】byteモード時のテキスト文字エンコードをセットします(初期値:環境依存)。
    パラメータ:
      `txtEnc` - テキスト文字エンコード
    変更履歴:
      7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加
    説明:
      ﾃｷｽﾄのｴﾝｺｰﾄﾞの指定がない場合は、プラットフォーム依存のデフォルトの Charset です。 java.nio.charset.Charset#defaultCharset() QRｺｰﾄﾞで、機種依存文字(①など)は、Windows-31J を指定しても読み取り側が対応していません。 その場合は、UTF-8 を指定します。(必要なﾊﾞｲﾄ数は当然増えます) 通常、何も指定しないか、UTF-8 を指定するかのどちらかになります。

  - ### toString

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