クラス InputTag

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

public class InputTag extends AbstractSpanSupport
入力フィールドやボタンなどを作成するHTML拡張タグです。 簡易的な入力用タグとして、columnタグがありますので、通常は、columnタグをお使い下さい。 name 属性に ラベルリソース のキーを与えることで、ロケールにあわせたリソースを 使用して、画面に表示します。 ロケールは、session 登録項目の HybsSystem#LANG_KEY を初期値で使用し、 language 属性で定義されている場合は、そちらを優先します。
関連項目:
変更履歴:
8.5.7.0 (2024/03/29) rowspan,colspan 属性を集約した サポートクラス AbstractSpanSupport を使用します。
機能分類
画面部品
形式サンプル:
●形式:<og:input name="…" value="…" /> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:input type 【HTML】表示形式[text/password/checkbox/radio/submit/reset/button/image/file]を指定します(初期値:text) HTML5追加分[search/tel/url/email/date/month/week/time/datetime-local/number/range/color] lbl 【TAG】ラベルリソースのラベルIDを指定します lbls 【TAG】ラベルをCSV形式で複数指定します td 【TAG】テーブル形式の <td> タグを使用するかどうか[yes/no/false]を指定します(初期値:yes) colspan 【TAG】フィールド部分の colspan を指定します rowspan 【TAG】ラベル、フィールド共に rowspan を指定します nextForm 【TAG】入力カーソルを指定されたname属性のフィールドへ自動的に移動します optionAttributes 【廃止】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します must 【TAG】必須入力を表す色に変えるかどうか[true/false]を指定します(初期値:false) mustAny 【TAG】選択必須入力(どれかひとつ必須)を表す色[true/mustAny/その他]を指定します(初期値:無指定) useMustHidden 【TAG】必須の自動チェック用Hiddenを出力するかどうか[true/false]を指定します(初期値:true) aimai 【TAG】曖昧検索可能フィールドとして、曖昧検索方法を指定します(初期値:null) maxlength 【HTML】最大入力文字数を指定します(typeがtextまたはpasswordの場合) checked 【HTML】type が checkbox か radio のとき、初めから選択された状態で表示します(checkedのみ指定可) title 【HTML】要素に対する補足的情報(title)を設定します readonly 【TAG】その部品に対して変更が出来ないように(readonly)指定します(サーバーに送信される) disabled 【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない) accesskey 【HTML】アクセスキー(alt+キーで直接指定)を割り当てます clazz 【HTML】要素に対して class 属性を設定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します autofocus 【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。 placeholder 【HTML5】入力欄に初期表示する内容を指定します。 required 【HTML5】入力必須を指定します roles 【TAG】ロールをセットします useRealTimeCheck 【TAG】(通常は使いません)リアルタイムチェックを行うかどうか(初期値:true:行う) 5.9.32.2 (2018/05/18) 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) > ... Body ... </og:input> ●使用例 <og:input name="OYA" /> lbl属性が指定されていない場合は、name属性をキーにしてLabelResourceを読み取ります。 <og:input name="PN" lbl="KO" /> lbl属性を指定することで、ラベルだけを付替えることができます。 <og:input name="PN" size="13" maxlength="11" /> 強制的にサイズの変更をするときは、size属性、maxlength属性を使用できます。 <og:input name="OYA" td="false" /> 自動作成されるtdタグやラベルを外すときはtd属性を使います。 <og:input name="OYA" td="no" /> 自動作成されるtdタグを外し、ラベルとフィールドは残します。 <og:input type="radio" name="OYA" /> ラベル部分と入力フィールド部分がテーブルタグの<td>により左右に分割されます。 <table> <tr><og:input name="PN" value="{@PN}" /></tr> <tr><og:input name="CD" value="{@CD}" /></tr> </table> <table> <tr><og:input name="PN" value="{@PN}" >部品入力フィールド</og:input></tr> <tr><og:input name="CD" value="{@CD}" >コードフィールド</og:input></tr> </table> HTML 表示時は、前後に<tr>タグで囲って、整形できます。 <og:input name="A" nextForm="B" /> 最大桁数入力後、フォーム B にフォーカスが移動します。 <og:input name="B" /> BODY 部分に記述した値は、入力フィールドの直後にセットされます。 <og:input name="PN" > <button type="button" onclick="popup(・・・);return false;" > <og:message lbl="POPUP" comment="▼" /> </button> </og:input>
導入されたバージョン:
JDK5.0,
  • コンストラクタの詳細

    • InputTag

      public InputTag()
      デフォルトコンストラクター
      変更履歴:
      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
      戻り値:
      後続処理の指示( EVAL_BODY_BUFFERED )
      変更履歴:
      4.0.0.0 (2007/05/30) 新規追加(BODY部の評価), 5.2.2.0 (2010/11/01) caseKey、caseVal 属性対応
    • doAfterBody

      public int doAfterBody()
      Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
      定義:
      doAfterBody インタフェース内 IterationTag
      オーバーライド:
      doAfterBody クラス内 CommonTagSupport
      戻り値:
      後続処理の指示(SKIP_BODY)
      変更履歴:
      4.0.0.0 (2007/05/30) 新規追加(BODY部の評価)
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 AbstractSpanSupport
      変更履歴:
      2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 2.0.0.8 (2002/10/09) yes/no/false で指定するように変更, 3.0.1.4 (2003/03/17) colspan 属性を追加。, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.5.4.2 (2003/12/15) nextForm 属性を追加。, 6.2.0.0 (2015/02/27) rowspan 属性を追加, 6.2.4.0 (2015/05/15) body 属性のクリアが抜けていた。
    • makeTag

      protected String makeTag()
      検索条件の入力用のテキストフィールドを作成します。 テーブルタグによりフィールドは分割されます。 使用時は、テーブルタグを前後に使用して下さい。
      定義:
      makeTag クラス内 HTMLTagSupport
      戻り値:
      入力用のテキストフィールドタグ
      変更履歴:
      2.0.0.8 (2002/10/09) yes/no/false で指定するように変更, 2.0.1.0 (2002/10/10) ラベルとフィールドのセパレーターとして、コロン(:)を使用するかどうかを指定できる, 3.0.1.2 (2003/03/07) forward.jsp の代替用 CommonForwardTag を新規作成, 3.1.0.1 (2003/03/26) キャッシュエントリーは、type="submit" の場合のみ、登録する。, 3.1.1.0 (2003/03/28) forward.jsp 関係の処理を削除する。, 3.1.1.0 (2003/03/28) radio ボタン等で、ラベルをクリックしても値をセットできるようにする。, 3.5.4.2 (2003/12/15) 入力カーソルを自動的に次のフィールドへ移動する機能を追加する。, 4.0.0.0 (2007/05/30) BODY 部分に記述した値は、入力フィールドの直後にセットされます。, 4.3.7.1 (2009/06/08) id=labelのclass化, 5.2.1.0 (2010/10/01) must , mustAny 属性を自動化します。, 5.6.2.2 (2013/03/15) 自動must処理の出力位置を変更, 6.2.0.0 (2015/02/27) rowspan 属性を追加, 6.2.0.0 (2015/02/27) aimai 属性を追加。, 6.2.4.0 (2015/05/15) aimai 属性は、BODYのincludeより前に追加。, 8.2.0.2 (2022/06/24) HTML5廃止対応, 8.4.3.0 (2023/03/31) accesskey 有無を設定
      このメソッドは、nullを返しません
    • setType

      public void setType(String type)
      【HTML】表示形式を指定します(初期値:text)。
      パラメータ:
      type - 表示形式 [text/password/checkbox/radio/submit/reset/button/image/file]、HTML5用 [search/tel/url/email/date/month/week/time/datetime-local/number/range/color]
      変更履歴:
      5.7.1.0 (2013/12/06) HTML5 対応, 6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
      説明:
      通常は、表示形式[text/password/checkbox/radio/submit/reset/button/image/file]を指定します。 HTML5 で追加された形式[search/tel/url/email/date/month/week/time/datetime-local/number/range/color] も、設定できます。 HTML5 の機能を有効にするには、ネイティブモードで動作させる必要があります。 // * ① USE_IE7_HEADER = "false" に設定する。 6.9.5.0 (2018/04/23) 廃止(false固定) // * ② USE_HTML5_HEADER = "true" に設定する。 6.9.5.0 (2018/04/23) 廃止(true固定) ③ IEのツール⇒互換表示設定で、互換表示に追加したWebサイトから削除する。 ④ 同上の設定で、イントラサイトを互換表示で表示するのチェックを外す。 必要があります。 <og:input type="text" /> テキストボックスを表示 <og:input type="password" /> パスワード専用テキストボックスを表示 <og:input type="checkbox" /> チェックボックスを表示 <og:input type="radio" /> ラジオボタンを表示 <og:input type="submit" /> 送信実行ボタンを表示 <og:input type="reset" /> 入力したフィールド内容を全てリセット <og:input type="button" /> ボタンを表示 <og:input type="image" /> イメージを表示してクリックした座標を返す <og:input type="file" /> ファイル名入力ボックスを表示 <og:input type="hidden" /> 表示させずにサーバーに送信するデータ HTML5 で追加されたタイプ <og:input type="search" /> 検索テキストの入力欄を作成する <og:input type="tel" /> 電話番号の入力欄を作成する <og:input type="url" /> URLの入力欄を作成する <og:input type="email" /> メールアドレスの入力欄を作成する <og:input type="date" /> 日付の入力欄を作成する <og:input type="month" /> 月の入力欄を作成する <og:input type="week" /> 週の入力欄を作成する <og:input type="time" /> 時間の入力欄を作成する <og:input type="datetime-local" /> UTC(協定世界時)によらないローカル日時の入力欄を作成する <og:input type="number" /> 数値の入力欄を作成する <og:input type="range" /> レンジの入力欄を作成する <og:input type="color" /> 色の入力欄を作成する
    • setLbls

      public void setLbls(String lbls)
      【TAG】ラベルをCSV形式で複数指定します。
      パラメータ:
      lbls - 複数ラベルID(CSV形式)
      変更履歴:
      3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得, 5.2.2.0 (2010/11/01) setMsglbl 廃止 ⇒ setLbl に置換え, 6.4.3.4 (2016/03/11) CSV形式の文字連結を、stream 経由で行います。
      説明:
      シングルラベルの lbl 属性との違いは、ここではラベルを複数 CSV形式で 渡すことが可能であることです。これにより、"A,B,C" という値に対して、 "Aのラベル表示,Bのラベル表示,Cのラベル表示" という具合に文字列を 再合成します。 これは、SQL文のOrder By 句で、ソート順を指定する場合などに便利です。 <og:orderBy columns="MKNMJP,MKCD,MKNMEN" lbls="MKNMJP,MKCD,MKNMEN" />
    • setNextForm

      public void setNextForm(String name)
      【TAG】入力カーソルを、指定されたname属性のフィールドへ自動的に移動させます。
      パラメータ:
      name - 次にフォーカスを移すタグのname属性
      変更履歴:
      3.5.4.2 (2003/12/15) 新規追加
      説明:
      JavaScript の onkeyup イベントを利用して、最大桁数まで入力すると、 次のフィールドに、自動的に飛ぶように設定します。 引数は、次に飛ばすフィールドの name 属性です。 実行するには、JavaScript の nextForm ファンクションが必要です。(default.js で指定)
    • setMaxlength

      public void setMaxlength(String maxlength)
      【HTML】最大入力文字数を指定します(入力可能文字数で、バイト数ではありません)。
      パラメータ:
      maxlength - 最大入力文字数
      変更履歴:
      3.5.4.2 (2003/12/15) 最大入力制限数に応じたサイズ自動生成を入れます。, 3.5.4.5 (2004/01/23) CSSで処理する場合のクラス属性は、maxlength が 5 以下の場合とする。, 4.0.0.0 (2005/01/31) getFieldSize メソッドを XHTMLTag から DBColumn へ移動, 6.2.0.0 (2015/02/27) 小さなカラムのサイズ指定は、すでに廃止 ("S0" + 桁数(1~5))
      説明:
      最大文字数はsize指定を超え得るが、超えた場合ユーザエージェントはスクロール機構を提供する必要があります。 この属性の初期値は「無制限」です。 <og:input name="PN" maxlength="20" />
    • setChecked

      public void setChecked(String ch)
      【HTML】type が checkbox か radio のとき、初めから選択された状態で表示します("checked"のみ指定可)。
      パラメータ:
      ch - 選択された状態にするかどうか [checked:選択状態/その他:何もしない]
      説明:
      <og:input name="PN" type="checkbox" checked="checked" />
    • setUseRealTimeCheck

      public void setUseRealTimeCheck(String flag)
      【TAG】リアルタイムチェックを行うかどうかを指定します(初期値:true)。
      パラメータ:
      flag - リアルタイムチェックを行うかどうか [true:行う/false:行わない]
      変更履歴:
      5.9.32.2 (2018/05/18) 新規追加, 6.9.8.0 (2018/05/28) Ver5 とロジックを合わせます。, 8.5.3.0 (2023/09/08) DynamicAttributes対応
      説明:
      カラム単位でリアルタイムチェックを行うかどうかを設定をします。 タグに独自属性としてrealTimeCheck="true/false"を追記します。 falseを設定した場合にチェックが行われなくなります。 初期値はリアルタイムチェックを行う(true)です。 引数の文字列の、true/false 判定を行っていません。そのままの文字列が設定されます。 JavaScript 側では、false 判定のみ行っているので、不正な文字列の場合は、 初期値(true:リアルタイムチェックを行う)が適用されます。 これは、Ver5 とロジックを合わせておくための処置です。
    • toString

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