クラス SubmitTag

すべての実装されたインタフェース:
BodyTag, DynamicAttributes, 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 【廃止】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します columnWritable 【TAG】書き込み可能カラム名を、CSV形式で与えます noWritable 【TAG】書き込み不可カラム名を、CSV形式で与えます title 【HTML】要素に対する補足的情報(title)を設定します readonly 【TAG】その部品に対して変更が出来ないように(readonly)指定します(サーバーに送信される) disabled 【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない) accesskey 【HTML】アクセスキー(alt+キーで直接指定)を割り当てます clazz 【HTML】要素に対して class 属性を設定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します autofocus 【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。 img 【TAG】画像ボタンを作る場合の、画像ファイルを指定します useAttStrict 【TAG】XHTMLTag に指定されている Attributes のみ使えるかどうか [true/false]を指定します(初期値:true) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) 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画面そのものですので、大文字小文字は区別されます。
    • setCommand

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

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