クラス SubmitTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class SubmitTag extends HTMLTagSupport
サブミットボタンを表示するHTML拡張タグです(forward.jsp の commonForward タグと同時に使用します)。 このタグは、value に指定された値+".jsp" の画面へサブミットします。 その際、command に設定された値を 送信します。 従来は、value に、copy/modify/delete など、処理するJSPを個別に設定していましたので、 command と lbl が未設定時には、value の値を使用していました。(下位互換性のため残しています) Ver5 になって、update.jsp ですべての処理を行う方向で開発するに当たり、 command と lbl を記述する必要がでてきました。 そこで、現在最新版では、action 属性を用意し、command を記述するだけで良くなりました。 [action属性] [初期設定されるパラメータ郡] INSERT value="update" command="INSERT" lbl="INSERT" accesskey="I" COPY value="update" command="COPY" lbl="COPY" accesskey="C" MODIFY value="update" command="MODIFY" lbl="MODIFY" accesskey="M" DELETE value="update" command="DELETE" lbl="DELETE" accesskey="Z" VIEW value="update" command="VIEW" lbl="VIEW" accesskey="V" 6.3.9.1 (2015/11/27) 追加 ENTRY value="entry" command="ENTRY" lbl="ENTRY" accesskey="E" RESET value="reset" command="RESET" lbl="RESET" accesskey="R" 7.4.2.1 (2021/05/21) システム定数 USE_ACCESSKEY を false に設定すると、accesskey は使用されません。 columnWritable , noWritable の属性追加(5.2.2.0 (2010/11/01)) これは、各コマンドごとに、次ページの view のカラム属性の設定に利用する属性です。 Ver4 では、keys,vals の一般引数として設定していましたが、ここでは、専用属性として 用意しています。
関連項目:
変更履歴:
3.1.1.0 (2003/03/28) 新規作成
機能分類
画面制御
形式サンプル:
●形式:<og:submit value="…" lbl="…" /> ●body:なし ●Tag定義: <og:submit action 【TAG】アクション(INSERT,COPY,MODIFY,DELETE,VIEW,ENTRY,RESET)を指定します value 【TAG】forward したいJSPファイル名を記述します(例:insert,copy,modify,delete など) command 【TAG】処理コマンドを登録します(初期値:大文字の value 属性値[INSERT,COPY,MODIFY,DELETE など]) gamenId 【TAG】gamenId 属性を登録します lbl 【TAG】ラベルリソースのラベルIDを指定します target 【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します keys 【TAG】ボタン専用のリクエストキーをCSV形式で複数指定します vals 【TAG】ボタン専用のリクエスト値をCSV形式で複数指定します roles 【TAG】ロールをセットします dbkeys 【TAG】commonForward の dbkeys にカラム指定を行います optionAttributes 【TAG】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します columnWritable 【TAG】書き込み可能カラム名を、CSV形式で与えます noWritable 【TAG】書き込み不可カラム名を、CSV形式で与えます caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) id 【HTML】要素に対して固有の名前(id)をつける場合に設定します lang 【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します dir 【HTML】文字表記の方向(dir)を指定します title 【HTML】要素に対する補足的情報(title)を設定します style 【HTML】この要素に対して適用させるスタイルシート(style)を設定します readonly 【TAG】その部品に対して変更が出来ないように(readonly)指定します(サーバーに送信される) disabled 【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない) tabindex 【HTML】タブの移動順(tabindex)を指定します(0 ~ 32767) accesskey 【HTML】アクセスキー(alt+キーで直接指定)を割り当てます clazz 【HTML】要素に対して class 属性を設定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します onClick 【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');") onBlur 【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();") onFocus 【HTML】JavaScriptのイベント onFocus を設定します ondblClick 【HTML】JavaScriptのイベント ondblClick を設定します onMouseDown 【HTML】JavaScriptのイベント onMouseDown を設定します onMouseUp 【HTML】JavaScriptのイベント onMouseUp を設定します onMouseMove 【HTML】JavaScriptのイベント onMouseMove を設定します onMouseOut 【HTML】JavaScriptのイベント onMouseOut を設定します onMouseOver 【HTML】JavaScriptのイベント onMouseOver を設定します autofocus 【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。 img 【TAG】画像ボタンを作る場合の、画像ファイルを指定します debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 Ver5 推奨ケース:指定の action 属性に設定された値に応じた、value , command , lbl , accesskey を初期化します。 (5.2.2.0 (2010/11/01)以降) <og:writeCheck> <og:submit action="COPY" noWritable="FGJ,UNIQ" /> <og:submit action="MODIFY" noWritable="CLM,FGJ,UNIQ" /> <og:submit action="DELETE" columnWritable="null" /> <og:submit gamenId="GF9110" value="index" dbkeys="SYSTEM_ID,LANG,CLM" command="NEW" lbl="GF9100" target="CONTENTS" /> <br /> </og:writeCheck> Ver4 一般的なケース:value は共通になったため、command と lbl の設定が必要(下位互換性のための設定) <og:writeCheck> <og:submit value="update" command="COPY" lbl="COPY" accesskey="C" /> <og:submit value="update" command="MODIFY" lbl="MODIFY" accesskey="M" /> <og:submit value="update" command="DELETE" lbl="DELETE" accesskey="Z" /> <og:submit gamenId="GF9110" value="index" dbkeys="SYSTEM_ID,LANG,CLM" command="NEW" lbl="GF9100" target="CONTENTS" /> <br /> </og:writeCheck> 従来のケース:value に設定された値JSPに対してサブミットされます。(下位互換性のための設定) <og:writeCheck> <og:submit value="copy" lbl="MSG0035" accesskey="C" /> <og:submit value="modify" lbl="MSG0036" accesskey="M" /> <og:submit value="delete" lbl="MSG0037" accesskey="Z" /> <og:submit gamenId="GF9110" value="index" dbkeys="SYSTEM_ID,LANG,CLM" command="NEW" lbl="GF9100" target="CONTENTS" /> <br /> </og:writeCheck>
導入されたバージョン:
JDK5.0,
  • フィールド詳細

  • コンストラクタの詳細

    • SubmitTag

      public SubmitTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doStartTag

      public int doStartTag()
      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
      doStartTag インタフェース内 Tag
      オーバーライド:
      doStartTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示( SKIP_BODY )
      変更履歴:
      5.2.2.0 (2010/11/01) 新規追加, 7.4.2.1 (2021/05/21) accesskey の設定の有効(true)/無効(false)を設定, 8.0.2.0 (2021/11/30) useAccessKey → USE_ACCESSKEY 変更
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 HTMLTagSupport
      変更履歴:
      3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.5.5.2 (2004/04/02) target 属性の追加, 3.5.5.5 (2004/04/23) keys,vals 属性の追加, 5.2.2.0 (2010/11/01) action,columnWritable,noWritable 属性の追加, 5.5.0.0 (2012/03/01) bgImg追加
    • makeTag

      protected String makeTag()
      サブミットボタンを作成します。
      定義:
      makeTag クラス内 HTMLTagSupport
      戻り値:
      サブミットボタンタグ
      変更履歴:
      3.3.1.1 (2003/07/03) ForwardManager クラスの廃止。飛び先のキャッシュを廃止します。, 3.5.5.2 (2004/04/02) target 属性の追加, 3.5.5.9 (2004/06/07) target 属性を、set ではなく add で追加。, 3.5.5.9 (2004/06/07) target 属性を、set ではなく add で追加。, 4.0.0.0 (2005/11/30) title 属性が未設定時の処理追加, 5.5.0.0 (2012/03/01) bgImg対応, 5.6.0.3 (2012/01/24) accesskey に ゼロ文字列を指定した場合、カッコ()だけが残ってしまう。, 6.2.4.2 (2015/05/29) スタイル属性追加時は、一番初めにする。, 6.4.4.1 (2016/03/18) StringBuilderの代わりに、OgBuilderを使用する。, 7.4.2.1 (2021/05/21) accesskey の設定の有効(true)/無効(false)を設定, 8.0.2.0 (2021/11/30) useAccessKey → USE_ACCESSKEY 変更
      このメソッドは、nullを返しません
    • setAction

      public void setAction(String act)
      【TAG】アクション(INSERT,COPY,MODIFY,DELETE,ENTRY,RESET)を指定します。
      パラメータ:
      act - アクション文字列
      関連項目:
      変更履歴:
      5.2.2.0 (2010/11/01) 新規追加, 6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
      説明:
      Ver5 になって、update.jsp ですべての処理を行う方向で開発するに当たり、 command と lbl を記述する必要がでてきました。 そこで、現在最新版では、action 属性を用意し、command を記述するだけで良くなりました。 [action属性] [初期設定されるパラメータ郡] INSERT value="update" command="INSERT" lbl="INSERT" accesskey="I" COPY value="update" command="COPY" lbl="COPY" accesskey="C" MODIFY value="update" command="MODIFY" lbl="MODIFY" accesskey="M" DELETE value="update" command="DELETE" lbl="DELETE" accesskey="Z" VIEW value="update" command="VIEW" lbl="VIEW" accesskey="V" 6.3.9.1 (2015/11/27) 追加 ENTRY value="entry" command="ENTRY" lbl="ENTRY" accesskey="E" RESET value="reset" command="RESET" lbl="RESET" accesskey="R" 7.4.2.1 (2021/05/21) システム定数 USE_ACCESSKEY を false に設定すると、accesskey は使用されません。
    • setValue

      public void setValue(String val)
      【TAG】forward したいJSPファイル名を記述します(例:insert,copy,modify,delete など)。
      パラメータ:
      val - JSPファイル名 (insert,copy,modify,delete など)
      説明:
      JSPファイル名は、標準で、insert,copy,modify,delete などと指定します。 実際には、各JSP画面(insert.jsp,copy.jsp,modify.jsp,delete.jsp )に リクエストが転送されます。 このJSPファイル名は、同一画面ID内のフォルダに属している必要があります。 ここのIDは、JSP画面そのものですので、大文字小文字は区別されます。
    • setGamenId

      public void setGamenId(String id)
      【TAG】画面ID を指定します。
      パラメータ:
      id - 画面ID
      説明:
      gamenId 属性は、別の画面にforward する場合に使用します。 実際は、forward ではなく、sendRedirect されます。
    • setCommand

      public void setCommand(String cmd)
      【TAG】処理コマンドを登録します(初期値:大文字の value 属性値[INSERT,COPY,MODIFY,DELETE など])。
      パラメータ:
      cmd - コマンド
      説明:
      command 属性を指定しない場合は、このvalue 属性値が、コマンドになります。 value 属性に、insert,copy,modify,delete などと指定されていた場合は、 それぞれ、INSERT,COPY,MODIFY,DELETE というコマンドになります。 コマンドは、大文字です。
    • setTarget

      public void setTarget(String name)
      【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します。
      パラメータ:
      name - サブミット先の文書のフレーム名(ターゲット属性)
      変更履歴:
      3.5.5.2 (2004/04/02) 新規追加
      説明:
      サブミット先のフレーム名(ターゲット属性)を設定します。
    • setKeys

      public void setKeys(String key)
      【TAG】ボタン専用のリクエストキーをCSV形式で複数指定します。
      パラメータ:
      key - ボタンが押された時に転送するキー
      変更履歴:
      3.5.5.5 (2004/04/23) 新規追加, 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用
      説明:
      このサブミットボタンが押された場合のみ、転送されるリクエスト情報の キーを設定できます。CSV形式で複数指定できます。 vals 属性には、キーに対応する値を、設定してください。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
    • setVals

      public void setVals(String val)
      【TAG】ボタン専用のリクエスト値をCSV形式で複数指定します。
      パラメータ:
      val - keys属性に対応する値
      変更履歴:
      3.5.5.5 (2004/04/23) 新規追加, 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用
      説明:
      キーに対応した値を、CSV形式で複数指定出来ます。 指定順序は、キーと同じにしておいて下さい。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
    • setDbkeys

      public void setDbkeys(String keys)
      【TAG】commonForward の dbkeys にカラム指定を行います。
      パラメータ:
      keys - dbkeysのカラム指定
      変更履歴:
      4.0.0.0 (2007/05/23) 新規追加
      説明:
      カラム指定は、CSV形式(CSV形式)で指定してください。 なお、引数は、自動的に受けるのではなく、commonForward タグに、 dbkeys="{@dbkeys}" の記述は必要です。
    • setColumnWritable

      public void setColumnWritable(String columnName)
      【TAG】書き込み可能カラム名を、CSV形式で与えます。
      パラメータ:
      columnName - 書込可能カラム名(CSV形式) (例:"OYA,KO,HJO,SU,DYSET,DYUPD")
      関連項目:
      変更履歴:
      5.2.2.0 (2010/11/01) 新規追加
      説明:
      これは、書き込み不可カラム名の指定(noWritable)と同時にセットする ことは出来ません。 なお、カラム名の代わりに、"null" を指定すると、なにも指定しないこと になります。つまり、noWritable にすべてのカラムを指定することと 同じになります。(デフォルトなので、あまり意味はありません。) "*" を指定すると、すべてのカラムを(columnWritable)指定したことになります。
    • setNoWritable

      public void setNoWritable(String columnName)
      【TAG】書き込み不可カラム名を、CSV形式で与えます。
      パラメータ:
      columnName - 書込不可カラム名(CSV形式) (例:"OYA,KO,HJO,SU,DYSET,DYUPD")
      関連項目:
      変更履歴:
      5.2.2.0 (2010/11/01) 新規追加
      説明:
      これは、書き込み可能カラム名の指定(columnWritable)と同時にセットする ことは出来ません。 なお、カラム名の代わりに、"null" を指定すると、なにも指定しないこと になります。つまり、columnWritable にすべてのカラムを指定することと 同じになります。 "*" を指定すると、すべてのカラムを(noWritable)指定したことになります。
    • setImg

      public void setImg(String image)
      【TAG】画像ボタンを作る場合の、画像ファイルを指定します。
      パラメータ:
      image - ボタンの背景画像
      変更履歴:
      5.5.0.0 (2012/03/01) 新規追加
      説明:
      画像ボタン作成支援の属性です。 inputタグでtype=imageにした場合、IEではname,valueのセットが 次の画面に渡されない仕様になっているためエンジンのsubmitでは 利用できません。(どのボタンが押されたか分からない) そこで、typeはsubmitのままcssの背景画像としてここで指定した 画像を配置します。 内部的にはbackground: url(imgFile) center center no-repeat; をstyleタグに書く事と同じです。 高さ、幅は把握できないため、別途style属性でhight,widthを指定して下さい。 6.2.4.2 (2015/05/29) 画像の配置を、left top から、center center に変更します。 スタイル属性追加時は、一番初めにします。そうすることで、style属性で、これらの 設定を上書きできるようになります。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません