クラス 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) 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】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 -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明intTaglibのタグ本体を処理する doAfterBody() を オーバーライドします。intdoEndTag()Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。intTaglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected voidrelease2()タグリブオブジェクトをリリースします。voidsetEncodeMode(String mode) 【TAG】エンコードモード('N':数字モード 'A':英数字モード 'B':8bit byteモード)を指定します(初期値:B)。voidsetErrCorrect(String crct) 【TAG】エラー訂正レベル ('L','M','Q','H')を指定します(初期値:M)。voidsetFilename(String fname) 【TAG】QRイメージファイル名をセットします(初期値:rqcode)。voidsetFileURL(String url) 【TAG】QRイメージファイルを出力するディレクトリを指定します(初期値:FILE_URL)。voidsetImageType(String type) 【TAG】イメージファイル形式(PNG/JPEG)を指定します(初期値:PNG)。void【TAG】1セル辺りの塗りつぶしピクセルを指定します(初期値:3)。voidsetTextEncode(String txtEnc) 【TAG】byteモード時のテキスト文字エンコードをセットします(初期値:環境依存)。void【TAG】エンコードする文字列(または、BODY部に記述)を指定します。voidsetVersion(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, 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モード時のテキスト文字エンコード追加
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2クラス内CommonTagSupport- 変更履歴:
- 7.2.3.0 (2020/04/10) textEncode byteモード時のテキスト文字エンコード追加
-
setValue
【TAG】エンコードする文字列(または、BODY部に記述)を指定します。- パラメータ:
val- エンコードする文字列(または、BODY部に記述)- 説明:
- エンコードする文字列のバイト数は、バージョン、エンコードモード、エラー訂正レベルに依存します。 また、イメージの大きさは、それらプラス1セル辺りのピクセルも影響します。
-
setVersion
【TAG】バージョン (2から40の整数)を指定します(初期値:5)。- パラメータ:
ver- バージョン- 説明:
- エンコードする文字列のバイト数は、エラー訂正レベル、バージョン に依存します。 文字列のバイト数を増やす場合は、バージョンを適切に設定します。
-
setEncodeMode
【TAG】エンコードモード('N':数字モード 'A':英数字モード 'B':8bit byteモード)を指定します(初期値:B)。- パラメータ:
mode- エンコードモード- 説明:
- エンコードする文字列の種類に応じて設定します。 日本語等を含む場合は、'B':8bit byteモード にしてください。
-
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】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
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toStringクラス内CommonTagSupport- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-