Package nablarch.common.web.tag
Class FormTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
nablarch.common.web.tag.CustomTagSupport
nablarch.common.web.tag.HtmlTagSupport
nablarch.common.web.tag.GenericAttributesTagSupport
nablarch.common.web.tag.FormTag
- All Implemented Interfaces:
jakarta.servlet.jsp.tagext.DynamicAttributes
,jakarta.servlet.jsp.tagext.IterationTag
,jakarta.servlet.jsp.tagext.JspTag
,jakarta.servlet.jsp.tagext.Tag
,jakarta.servlet.jsp.tagext.TryCatchFinally
,Serializable
サブミット制御(ボタンとアクションの紐付け、二重サブミット防止)と不正画面遷移チェックを行うformタグを出力するクラス。
- See Also:
-
Field Summary
Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
Fields inherited from interface jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
doEndTag()
int
protected String
タグ名を取得する。void
XHTMLのaccept属性を設定する。void
setAcceptCharset
(String acceptCharset) XHTMLのaccept-charset属性を設定する。void
XHTMLのaction属性を設定する。void
setAutocomplete
(String autocomplete) HTML5のautocomplete属性を設定する。void
setEnctype
(String enctype) XHTMLのenctype属性を設定する。void
XHTMLのmethod属性を設定する。
デフォルトはpost。void
XHTMLのname属性を設定する。void
setOnreset
(String onreset) XHTMLのonreset属性を設定する。void
setOnsubmit
(String onsubmit) XHTMLのonsubmit属性を設定する。void
setPreventPostResubmit
(boolean preventPostResubmit) POST再送信を防止するか否かを設定する。void
URIをhttpsにするか否かを設定する。void
XHTMLのtarget属性を設定する。void
setUseToken
(Boolean useToken) トークンを設定するか否かを設定する。void
setWindowScopePrefixes
(String windowScopePrefixes) ウィンドウスコープ変数のプレフィックスを設定する。Methods inherited from class nablarch.common.web.tag.GenericAttributesTagSupport
checkChildElementsOfForm, setCssClass, setDir, setId, setLang, setOnclick, setOndblclick, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setStyle, setTitle, setXmlLang
Methods inherited from class nablarch.common.web.tag.HtmlTagSupport
doCatch, doFinally, getAttributes, setDynamicAttribute
Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setPageContext, setParent, setValue
-
Constructor Details
-
FormTag
public FormTag()
-
-
Method Details
-
setWindowScopePrefixes
ウィンドウスコープ変数のプレフィックスを設定する。複数指定する場合はカンマ区切り。
- Parameters:
windowScopePrefixes
- ウィンドウスコープ変数のプレフィックス
-
setUseToken
トークンを設定するか否かを設定する。デフォルトはfalse。 confirmationPageタグが指定された場合は、デフォルトがtrueとなる。
- Parameters:
useToken
- トークンを設定する場合はtrue、設定しない場合はfalse。
-
setSecure
URIをhttpsにするか否かを設定する。- Parameters:
secure
- httpsにする場合はtrue、しない場合はfalse。
-
setPreventPostResubmit
public void setPreventPostResubmit(boolean preventPostResubmit) POST再送信を防止するか否かを設定する。 デフォルトはfalse。- Parameters:
preventPostResubmit
- POST再送信を防止する場合はtrue、しない場合はfalse。
-
setAction
XHTMLのaction属性を設定する。- Parameters:
action
- XHTMLのaction属性
-
setAutocomplete
HTML5のautocomplete属性を設定する。- Parameters:
autocomplete
- HTML5のautocomplete属性
-
setMethod
XHTMLのmethod属性を設定する。
デフォルトはpost。- Parameters:
method
- XHTMLのmethod属性
-
setName
XHTMLのname属性を設定する。- Parameters:
name
- XHTMLのname属性
-
setEnctype
XHTMLのenctype属性を設定する。- Parameters:
enctype
- XHTMLのenctype属性
-
setOnsubmit
XHTMLのonsubmit属性を設定する。- Parameters:
onsubmit
- XHTMLのonsubmit属性
-
setOnreset
XHTMLのonreset属性を設定する。- Parameters:
onreset
- XHTMLのonreset属性
-
setAccept
XHTMLのaccept属性を設定する。- Parameters:
accept
- XHTMLのaccept属性
-
setAcceptCharset
XHTMLのaccept-charset属性を設定する。- Parameters:
acceptCharset
- XHTMLのaccept-charset属性
-
setTarget
XHTMLのtarget属性を設定する。- Parameters:
target
- XHTMLのtarget属性
-
doStartTag
public int doStartTag() throws jakarta.servlet.jsp.JspException開始タグとサブミット制御に使用するJavaScriptのサブミット関数を出力する。 method属性がpostかつ画面内で1番目のフォームタグの場合のみサブミット関数を出力する。 サブミット関数が出力される前にサブミットされJavaScriptエラーが発生することを防ぐため、 JavaScriptのサブミット関数は開始タグの直前に出力する。 method属性の指定がない場合は、postを設定する。 name属性の指定がない場合は、値を生成し設定する。 属性はHTMLエスケープして出力する。
- Specified by:
doStartTag
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in classjakarta.servlet.jsp.tagext.TagSupport
- Throws:
jakarta.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws jakarta.servlet.jsp.JspException閉じタグとサブミット制御に使用するJavaScriptのサブミット情報を出力する。 サブミット制御のJavaScriptの出力が完了する前にサブミットされることを防ぐため、 サブミット制御のJavaScriptの出力が完了したことを示すマーカを閉じタグの直後に出力する。 ここで出力したマーカをサブミット関数が参照し、サブミット可否の判定に使用する。 CSRFトークンがリクエスト属性に存在すればhiddenタグに追加する。 楽観的ロックで使用するバージョン番号をhiddenタグに追加する。 ウィンドウスコープ変数のプレフィックスが指定されている場合は、リクエストパラメータからhiddenタグを出力する。 リクエストパラメータからhiddenタグを出力する際は、既に入力項目として出力されているパラメータは除く。 hiddenタグは、改竄や情報漏洩などのセキュリティ上の問題となるケースがあるため、デフォルトで暗号化して出力する。 ただし、下記のどちらかの条件を満たす場合は暗号化せずに平文でhiddenタグを出力する。 ・hiddenタグの暗号化機能を「使用しない」に設定している。 ・フォーム内のリクエストIDが設定された暗号化を行わないリクエストIDに全て含まれる。 上記設定は、カスタムタグのデフォルト値設定から行う。
useToken
にtrueが指定されている場合、又はuseToken
が未指定で確認画面の場合は、 トークンを生成しhiddenタグを出力する。 ただし、method属性がgetかつCustomTagConfig
のuseGetRequestがtrueの場合は、上記処理は行わずに閉じタグのみを出力して処理を終了する。- Specified by:
doEndTag
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
doEndTag
in classjakarta.servlet.jsp.tagext.TagSupport
- Throws:
jakarta.servlet.jsp.JspException
-
getTagName
タグ名を取得する。- Specified by:
getTagName
in classGenericAttributesTagSupport
- Returns:
- タグ名
-