クラス 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) 廃止 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,
  • コンストラクタの詳細

    • 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 - 保存先ディレクトリ名
      関連項目:
      説明:
      この属性で指定されるディレクトリに、QRイメージファイルをセーブします。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (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を返しません