パッケージ 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ｺｰﾄﾞで表示できる文字数は、ﾊﾞｰｼﾞｮﾝ、ｴﾝｺｰﾄﾞﾓｰﾄﾞ、ｴﾗｰ訂正ﾚﾍﾞﾙ に依存します。 また、ｲﾒｰｼﾞの大きさは、文字数と1ｾﾙ辺りのﾋﾟｸｾﾙに依存します。 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) 8.4.1.0 (2023/02/10) Delete errCorrect 【TAG】ｴﾗｰ訂正ﾚﾍﾞﾙ ('L','M','Q','H')(初期値:M) imageType 【TAG】ｲﾒｰｼﾞﾌｧｲﾙ形式(PNG/JPEG)(初期値:PNG) pixel 【TAG】1ｾﾙ辺りの塗りつぶしﾋﾟｸｾﾙ(初期値:3) fileURL 【TAG】QRｲﾒｰｼﾞﾌｧｲﾙを出力するﾃﾞｨﾚｸﾄﾘ(初期値:FILE_URL) filename 【TAG】QRｲﾒｰｼﾞﾌｧｲﾙ名 (初期値:rqcode) textEncode 【TAG】ﾃｷｽﾄ文字ｴﾝｺｰﾄﾞ(初期値: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`
  `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】1ｾﾙ辺りの塗りつぶしﾋﾟｸｾﾙを指定します(初期値:3)。
  `void`
  `setTextEncode(String txtEnc)`
  【TAG】ﾃｷｽﾄ文字ｴﾝｺｰﾄﾞをｾｯﾄします(初期値:環境依存)。
  `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ﾓｰﾄﾞ時のﾃｷｽﾄ文字ｴﾝｺｰﾄﾞ追加, 8.4.1.0 (2023/02/10) QRｺｰﾄﾞを swetake から ZXing への置換(encodeMode廃止)

  - ### release2

    protected void release2()
    ﾀｸﾞﾘﾌﾞｵﾌﾞｼﾞｪｸﾄをﾘﾘｰｽします。 ｷｬｯｼｭされて再利用されるので、ﾌｨｰﾙﾄﾞの初期設定を行います。
    オーバーライド:
      `release2` クラス内 `CommonTagSupport`
    変更履歴:
      7.2.3.0 (2020/04/10) textEncode byteﾓｰﾄﾞ時のﾃｷｽﾄ文字ｴﾝｺｰﾄﾞ追加, 8.4.1.0 (2023/02/10) QRｺｰﾄﾞを swetake から ZXing への置換(encodeMode廃止)

  - ### setValue

    public void setValue(String val)
    【TAG】ｴﾝｺｰﾄﾞする文字列(または、BODY部に記述)を指定します。
    パラメータ:
      `val` - ｴﾝｺｰﾄﾞする文字列(または、BODY部に記述)
    説明:
      ｴﾝｺｰﾄﾞする文字列のﾊﾞｲﾄ数は、ﾊﾞｰｼﾞｮﾝ、ｴﾝｺｰﾄﾞﾓｰﾄﾞ、ｴﾗｰ訂正ﾚﾍﾞﾙに依存します。 また、ｲﾒｰｼﾞの大きさは、それらﾌﾟﾗｽ1ｾﾙ辺りのﾋﾟｸｾﾙも影響します。

  - ### setVersion

    public void setVersion(String ver)
    【TAG】ﾊﾞｰｼﾞｮﾝ (2から40の整数)を指定します(初期値:5)。
    パラメータ:
      `ver` - ﾊﾞｰｼﾞｮﾝ
    説明:
      ｴﾝｺｰﾄﾞする文字列のﾊﾞｲﾄ数は、ｴﾗｰ訂正ﾚﾍﾞﾙ、ﾊﾞｰｼﾞｮﾝ に依存します。 文字列のﾊﾞｲﾄ数を増やす場合は、ﾊﾞｰｼﾞｮﾝを適切に設定します。

  - ### 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】1ｾﾙ辺りの塗りつぶしﾋﾟｸｾﾙを指定します(初期値: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】ﾃｷｽﾄ文字ｴﾝｺｰﾄﾞをｾｯﾄします(初期値:環境依存)。
    パラメータ:
      `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を返しません