クラス 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
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,
-
フィールドの概要
クラスから継承されたフィールド 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
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明int
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
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
【TAG】1セル辺りの塗りつぶしピクセルを指定します(初期値:3)。void
setTextEncode
(String txtEnc) 【TAG】テキスト文字エンコードをセットします(初期値:環境依存)。void
【TAG】エンコードする文字列(または、BODY部に記述)を指定します。void
setVersion
(String ver) 【TAG】バージョン (2から40の整数)を指定します(初期値:5)。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, useStrict, 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
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示( EVAL_BODY_BUFFERED )
-
doAfterBody
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。- 定義:
doAfterBody
インタフェース内IterationTag
- オーバーライド:
doAfterBody
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示(SKIP_BODY)
-
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
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加, 8.4.1.0 (2023/02/10) QRコードを swetake から ZXing への置換(encodeMode廃止)
-
setValue
【TAG】エンコードする文字列(または、BODY部に記述)を指定します。- パラメータ:
val
- エンコードする文字列(または、BODY部に記述)- 説明:
- エンコードする文字列のバイト数は、バージョン、エンコードモード、エラー訂正レベルに依存します。 また、イメージの大きさは、それらプラス1セル辺りのピクセルも影響します。
-
setVersion
【TAG】バージョン (2から40の整数)を指定します(初期値:5)。- パラメータ:
ver
- バージョン- 説明:
- エンコードする文字列のバイト数は、エラー訂正レベル、バージョン に依存します。 文字列のバイト数を増やす場合は、バージョンを適切に設定します。
-
setErrCorrect
【TAG】エラー訂正レベル ('L','M','Q','H')を指定します(初期値:M)。- パラメータ:
crct
- エラー訂正レベル- 説明:
- エンコードする文字列のバイト数は、エラー訂正レベル、バージョン に依存します。 通常、初期値のままで問題ありません。
-
setImageType
【TAG】イメージファイル形式(PNG/JPEG)を指定します(初期値:PNG)。- パラメータ:
type
- イメージファイル形式- 説明:
- QRコードのイメージファイルの形式を指定します。 拡張子は自動的にイメージファイル形式(の小文字)がセットされます。
-
setPixel
【TAG】1セル辺りの塗りつぶしピクセルを指定します(初期値:3)。- パラメータ:
px
- ピクセル数- 説明:
- QRコードのイメージファイルの形式を指定します。 拡張子は自動的にイメージファイル形式(の小文字)がセットされます。
-
setFileURL
【TAG】QRイメージファイルを出力するディレクトリを指定します(初期値:FILE_URL)。- パラメータ:
url
- 保存先ディレクトリ名- 関連項目:
- 説明:
- この属性で指定されるディレクトリに、QRイメージファイルをセーブします。 指定方法は、通常の fileURL 属性と同様に、先頭が、'/' (UNIX) または、2文字目が、 ":" (Windows)の場合は、指定のURLそのままのディレクトリに、そうでない場合は、 FILE_URL 属性で指定のフォルダの下に、フォルダを作成します。 初期値は、FILE_URL になるため、通常は{@USER.ID}を指定する必要があります。
-
setFilename
【TAG】QRイメージファイル名をセットします(初期値:rqcode)。- パラメータ:
fname
- ファイル名- 説明:
- ファイルを作成するときのファイル名をセットします。 ファイル名の拡張子は、imageType属性の小文字を追加します。 拡張子付きで指定した場合(ファイル名に、ピリオドを含む場合)は、 そのままの値を使用します。
-
setTextEncode
【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
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-