org.opengion.hayabusa.taglib

## クラス HTMLTagSupport

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.opengion.hayabusa.taglib.CommonTagSupport
      - - org.opengion.hayabusa.taglib.HTMLTagSupport

- すべての実装されたインタフェース:
    Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally
  直系の既知のサブクラス:
    BackGamenTag, ButtonTag, ColumnEditorTag, ColumnTag, FrameTag, ImageTag, InputTag, LinkTag, OptionTag, PopupTag, QueryButtonTag, SelectTag, SubmitTag, TextareaTag

      abstract class HTMLTagSupport
      extends CommonTagSupport

       CommonTagSupport から継承されたサブクラスです。

       HTML関連の共通属性を、設定する為のメソッドを持っています。
       主な、HTMLタグは、このクラスを継承して作ることで、必要な属性は、
       Attributes オブジェクト にセットされるため、#set(String,String)
       get(String) メソッドで扱う事が可能になります。
       不要な属性は、tld ファイルに記述しなければ、使用されません。

       以下に、このメソッド内で定義される属性を記述します。

             roles              【TAG】ロールをセットします
             must               【TAG】必須入力を表す色に変えるかどうか[true/false]を指定します(初期値:false)
             mustAny            【TAG】選択必須入力(どれかひとつ必須)を表す色[true/mustAny/その他]を指定します(初期値:無指定)
             useMustHidden      【TAG】必須の自動チェック用Hiddenを出力するかどうか[true/false]を指定します(初期値:true)
             aimai              【TAG】曖昧検索可能フィールドとして、曖昧検索方法を指定します(初期値:null)
             optionAttributes   【TAG】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します
             id                 【HTML】要素に対して固有の名前(id)をつける場合に設定します
             clazz              【HTML】要素に対して class 属性を設定します
             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+キーで直接指定)を割り当てます
             onClick            【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');")
             onChange           【HTML】JavaScriptのイベント onChange を設定します(例:onChange="renew('query.jsp','QUERY');")
             onBlur             【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();")
             onFocus            【HTML】JavaScriptのイベント onFocus を設定します
             onSelect           【HTML】JavaScriptのイベント onSelect を設定します
             ondblClick         【HTML】JavaScriptのイベント ondblClick を設定します
             onMouseDown        【HTML】JavaScriptのイベント onMouseDown を設定します
             onMouseUp          【HTML】JavaScriptのイベント onMouseUp を設定します
             onMouseMove        【HTML】JavaScriptのイベント onMouseMove を設定します
             onMouseOut         【HTML】JavaScriptのイベント onMouseOut を設定します
             onMouseOver        【HTML】JavaScriptのイベント onMouseOver を設定します
             onKeydown          【HTML】JavaScriptのイベント onKeydown を設定します
             onKeypress         【HTML】JavaScriptのイベント onKeypress を設定します
             onKeyup            【HTML】JavaScriptのイベント onKeyup を設定します
             autocomplete       【HTML5】入力候補を提示して入力内容を自動補完する[on/off]（初期値はon）。
             autofocus          【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。
             pattern            【HTML5】正規表現で入力値のパターンを指定します。
             placeholder        【HTML5】入力欄に初期表示する内容を指定します。
             list               【HTML5】ユーザーに入力候補として提案するデータリストの要素のid属性の値を指定します。
             min                【HTML5】入力欄で入力できる最小値を指定します。
             max                【HTML5】入力欄で入力できる最大値を指定します。
             step               【HTML5】入力欄で刻むステップ値を指定する。
             required           【HTML5】入力必須を指定します

       各属性は、{@XXXX} 変数が使用できます。
       これは、ServletRequest から、XXXX をキーに値を取り出し,この変数に
       割り当てます。つまり、このXXXXをキーにリクエストすれば、
       この変数に値をセットすることができます。

       http://localhost/query.jsp?KEY1=VLA1&KEY2=VAL2

       のようなリクエストで、{@KEY1} とすれば、 VAL1 がセットされます。

       このタグは、ラベル部分と入力フィールド部分がテーブルタグの<td>
       により左右に分割されます。HTML 表示時は、前後に<tr>タグで囲って,
       整形できます。

       ※ readonly , disabled , autofocus[HTML5] , required[HTML5]  は、論理属性です。
       通常は、キーワードのみの指定で、有効です。
       よって、readonly="false" としても、readonly というキーワードが存在すると、有効になります。
       記述例  ①readonly ②readonly="" ③readonly="readonly" の３種類が推奨されます。
                「属性名」 「属性名=""」 「属性名="属性名"」
       フレームワーク側の問題として、①や②の渡し方は他の属性との関係や、動的なリクエスト変数の処理の
       関係で、③を利用します。また、動的切替の為に、④readonly="[true/false]" も受け付けます。
       内部的には、readonly="true" の場合は、readonly="readonly" を作成し、readonly="false" の場合は、
       なにも作成しないという処理を行っています。

  機能分類
    画面部品
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

      `BR, BUFFER_MIDDLE, CR`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.BodyTagSupport

      `bodyContent`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.TagSupport

      `id, pageContext`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `HTMLTagSupport()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド abstractメソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `protected String` | `getMustType()` mustType 属性を取得します。
    `protected String` | `makeAimaiPicker(String name)` aimai 属性を自動化するためのAimaiPicker関連タグを生成します。
    `protected String` | `makeMustHidden(String name)` must , mustAny 属性を自動化するためのhiddenタグを生成します。
    `protected abstract String` | `makeTag()` タグ文字列を作成します。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setAccesskey(String accesskey)` 【HTML】アクセスキー(alt+キーで直接指定)を割り当てます。
    `void` | `setAimai(String val)` 【TAG】曖昧検索可能フィールドとして、曖昧検索方法を指定します(初期値:null)。
    `void` | `setAutocomplete(String autocomplete)` 【HTML5】入力候補を提示して入力内容を自動補完する[on/off]（初期値はon）。
    `void` | `setAutofocus(String atfocus)` 【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。
    `void` | `setClazz(String cls)` 【HTML】要素に対して class 属性を設定します。
    `void` | `setDir(String dir)` 【HTML】文字表記の方向(dir)を指定します。
    `void` | `setDisabled(String dis)` 【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない)。
    `void` | `setId(String id)` 【HTML】要素に対して固有の名前(id)をつける場合に設定します。
    `void` | `setLang(String lang)` 【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します。
    `void` | `setList(String list)` 【HTML5】ユーザーに入力候補として提案するデータリストの要素のid属性の値を指定します。
    `void` | `setMax(String max)` 【HTML5】入力欄で入力できる最大値を指定します。
    `void` | `setMin(String min)` 【HTML5】入力欄で入力できる最小値を指定します。
    `void` | `setMust(String flag)` 【TAG】必須入力を表す色に変えるかどうか[true/false]を指定します(初期値:false)。
    `void` | `setMustAny(String flag)` 【TAG】選択必須入力(どれかひとつ必須)を表す色[true/mustAny/その他]を指定します(初期値:無指定)。
    `void` | `setOnBlur(String onBlur)` 【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();")。
    `void` | `setOnChange(String onChange)` 【HTML】JavaScriptのイベント onChange を設定します(例:onChange="renew('query.jsp','QUERY');")。
    `void` | `setOnClick(String onClick)` 【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');")。
    `void` | `setOndblClick(String ondblClick)` 【HTML】JavaScriptのイベント ondblClick を設定します。
    `void` | `setOnFocus(String onFocus)` 【HTML】JavaScriptのイベント onFocus を設定します。
    `void` | `setOnKeydown(String onKeydown)` 【HTML】JavaScriptのイベント onKeydown を設定します。
    `void` | `setOnKeypress(String onKeypress)` 【HTML】JavaScriptのイベント onKeypress を設定します。
    `void` | `setOnKeyup(String onKeyup)` 【HTML】JavaScriptのイベント onKeyup を設定します。
    `void` | `setOnMouseDown(String onMouseDown)` 【HTML】JavaScriptのイベント onMouseDown を設定します。
    `void` | `setOnMouseMove(String onMouseMove)` 【HTML】JavaScriptのイベント onMouseMove を設定します。
    `void` | `setOnMouseOut(String onMouseOut)` 【HTML】JavaScriptのイベント onMouseOut を設定します。
    `void` | `setOnMouseOver(String onMouseOver)` 【HTML】JavaScriptのイベント onMouseOver を設定します。
    `void` | `setOnMouseUp(String onMouseUp)` 【HTML】JavaScriptのイベント onMouseUp を設定します。
    `void` | `setOnSelect(String onSelect)` 【HTML】JavaScriptのイベント onSelect を設定します。
    `void` | `setOptionAttributes(String optionAttributes)` 【TAG】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します。
    `void` | `setPattern(String pattern)` 【HTML5】正規表現で入力値のパターンを指定します。
    `void` | `setPlaceholder(String placeholder)` 【HTML5】入力欄に初期表示する内容を指定します。
    `void` | `setReadonly(String ronly)` 【TAG】その部品に対して変更が出来ないように(readonly)指定します(サーバーに送信される)。
    `void` | `setRequired(String req)` 【HTML5】入力必須を指定します。
    `void` | `setRoles(String roles)` 【TAG】ロールをセットします。
    `void` | `setStep(String step)` 【HTML5】入力欄で刻むステップ値を指定します。
    `void` | `setStyle(String style)` 【HTML】この要素に対して適用させるスタイルシート(style)を設定します。
    `void` | `setTabindex(String tabindex)` 【HTML】タブの移動順(tabindex)を指定します(0 ～ 32767)。
    `void` | `setTitle(String title)` 【HTML】要素に対する補足的情報(title)を設定します。
    `void` | `setUseMustHidden(String flag)` 【TAG】必須の自動チェック用Hiddenを出力するかどうか[true/false]を指定します(初期値:true)。

    - ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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, toString, useMainTrans, useQuotCheck, useTag, useXssCheck`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport

      `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.TagSupport

      `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### インタフェースから継承されたメソッド javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

- - ### コンストラクタの詳細

    - #### HTMLTagSupport

          public HTMLTagSupport()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### doEndTag

          public int doEndTag()

      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
        `doEndTag` インタフェース内 `Tag`
      オーバーライド:
        `doEndTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理
      変更履歴:

        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        4.0.0.0 (2005/11/30) ロール を考慮します。
        4.3.0.0 (2008/07/04) ロールモードマルチ対応
        5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応
        6.1.0.0 (2014/12/26) HTML5のrequired属性は、useMustHidden==true でも制御可能とする。
        6.4.0.4 (2015/12/26) USE_MUST_REQUIRED で、HTML5使用時の must="true" での required属性の出力制御

    - #### release2

          protected void release2()

      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
        `release2` クラス内 `CommonTagSupport`
      変更履歴:

        5.2.1.0 (2010/10/01) mustType 属性を追加。
        5.7.2.0 (2014/01/10) useMustHidden追加
        6.2.0.0 (2015/02/27) aimai 属性を追加

    - #### makeTag

          protected abstract String makeTag()

      タグ文字列を作成します。 ここでは、#doEndTag() で、jspPrint の出力として書き出されます。 各サブクラスで、実装してください。
      戻り値:
        タグ文字列

    - #### setId

          public void setId(String id)

      【HTML】要素に対して固有の名前(id)をつける場合に設定します。
      オーバーライド:
        `setId` クラス内 `TagSupport`
      パラメータ:
        `id` - 固有の名前
      説明:

             特別な使用方法として、id="FOCUS" とすることで、フィールド系要素に
             フォーカスを移動させます。これは、そのページ内で唯一の id 属性として使用ください。

             ※ HTML5 より、autofocus属性の使用が可能になりました。

    - #### setClazz

          public void setClazz(String cls)

      【HTML】要素に対して class 属性を設定します。
      パラメータ:
        `cls` - class属性
      説明:

             Javaの言語使用上、class で作成できないため、代用として
             clazz を使用しています。
             html で作成される属性は、 class で作成されます。

      変更履歴:

        3.5.0.0 (2003/09/17) set ではなく、add を利用します。

    - #### setLang

          public void setLang(String lang)

      【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します。
      パラメータ:
        `lang` - 言語 [ja/en/zh/…]
      説明:

             HTMLの言語属性に使われます。指定する値は、ISO 639で規定されている「言語コード」です。
             [ja/en/zh/…]などのほかに、en-US:アメリカ英語、en-cockney:コックニー英語 など、
             副言語を指定する方法も定められています。
             ここでは、lang と xml:lang の両方に同じ値がセットされます。
             タグの language 属性とは使用用途が異なります。lang セット

    - #### setDir

          public void setDir(String dir)

      【HTML】文字表記の方向(dir)を指定します。
      パラメータ:
        `dir` - 文字表記方向 [ltr:左から右、rtl:右から左]
      説明:

             当該要素の書字方向を指定する属性です。
             ltr で、左から右に、rtl で、右から左に並べます。

    - #### setTitle

          public void setTitle(String title)

      【HTML】要素に対する補足的情報(title)を設定します。
      パラメータ:
        `title` - タイトル情報
      説明:

             title セットは、ボタンなどに適用すると、マウスオーバーによりこのメッセージが
             チップスのように表示されます。これを利用して、説明文を登録することが可能です。
             ここに指定した文字列が、ラベルリソースに存在する場合は、そのラベルを表示し、
             存在しない場合は、そのままの値を表示します。

             6.1.1.0 (2015/01/17)
              ① 1.引数を、{@XXXX} 処理せずに、XXXX でラベルリソースの概要をチェックします。
                 2.存在しなければ、ラベルをチェックします。
                 3.そこにもなければ、全体を、RequestParameter 処理します。
              ② 変換後の文字列から、"￥n" を、"&#13;&#10;" に変換することで、改行に対応します。
                 実際は、CR か LF のどちらでも改行するようです。

      変更履歴:

        3.5.5.8 (2004/05/20) メッセージリソースから読み込んだ文字を使用します。
        4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel )
        6.1.1.0 (2015/01/17) 直接、ラベルリソースを表示できるようにする。

    - #### setStyle

          public void setStyle(String style)

      【HTML】この要素に対して適用させるスタイルシート(style)を設定します。
      パラメータ:
        `style` - スタイルシート (例 style="color:red; font-size:24pt;" など)
      説明:

             タグにstyle属性を設定します。これは、キー:値; のセットを複数記述できます。
             通常は、class属性や、id属性で登録しておき、<style type="text/css"> で
             外部から指定する方がソースは読みやすくなります。

    - #### setReadonly

          public void setReadonly(String ronly)

      【TAG】その部品に対して変更が出来ないように(readonly)指定します(サーバーに送信される)。
      パラメータ:
        `ronly` - 読取専用 [readonly/true/false]
      説明:

             INPUT/TEXTAREA 系に対して、指定可能です。
             readonly="readonly" , readonly="true" が指定された場合は、有効です。
             false も指定値としては、有効です。(大文字小文字の区別も不要)
             それ以外の指定は、エラーとします。

             ※ readonly は、論理属性です。

      変更履歴:

        3.7.1.0 (2005/04/26) readonly,true,false が指定できるように変更。

    - #### setDisabled

          public void setDisabled(String dis)

      【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない)。
      パラメータ:
        `dis` - disabled指定 [disabled,true:disabled/false:設定なし]
      説明:

             BUTTON/INPUT/OPTGROUP/OPTION/SELECT/TEXTAREA 系に対して、指定可能です。
             disabled="disabled" , disabled="true" が指定された場合は、有効です。
             false も指定値としては、有効です。(大文字小文字の区別も不要)
             それ以外の指定は、エラーとします。

             ※ disabled は、論理属性です。

      変更履歴:

        3.7.1.0 (2005/04/26) disabled,true,false が指定できるように変更。

    - #### setTabindex

          public void setTabindex(String tabindex)

      【HTML】タブの移動順(tabindex)を指定します(0 ～ 32767)。
      パラメータ:
        `tabindex` - タブ移動順 (0～32767)
      説明:

             Tabキーを押したときに要素が選択される順番を指定します。
             値には、選択させたい順番を数値で記述します。

    - #### setAccesskey

          public void setAccesskey(String accesskey)

      【HTML】アクセスキー(alt+キーで直接指定)を割り当てます。
      パラメータ:
        `accesskey` - アクセスキー
      説明:

             アクセスキーは、マウスの使えない環境でも、リンクにジャンプする、ボタンを押す、入力フォームに
             フォーカスを移すなどの操作を簡単に行うことができるように考慮されたものです。
             Windows の「ファイル(F)」メニューについている、F と同じような働きをします。

    - #### setOptionAttributes

          public void setOptionAttributes(String optionAttributes)

      【TAG】JavaScript などの HTML基本タグ以外の属性を、そのままタグとして使用します。
      パラメータ:
        `optionAttributes` - オプション属性
      説明:

             JavaScript などの HTML基本タグ以外の属性を、そのまま
             タグとして使用します。

      変更履歴:

        3.1.0.1 (2003/03/26) (')を(")に置き換え処理していたのを止める。

    - #### setOnClick

          public void setOnClick(String onClick)

      【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');")。
      パラメータ:
        `onClick` - onClickイベント (例:onClick="renew('query.jsp','QUERY');")
      説明:

             onClick をセットします。
             例えば、<og:column name="KBSAKU" onClick="renew('query.jsp','QUERY');" />
             のように指定することで、プルダウンメニューの絞込み検索が可能になります。

      変更履歴:

        3.5.0.0 (2003/09/17) 新規追加
        3.5.5.9 (2004/06/07) セパレータ付きの追加メソッドに変更

    - #### setOnChange

          public void setOnChange(String onChange)

      【HTML】JavaScriptのイベント onChange を設定します(例:onChange="renew('query.jsp','QUERY');")。
      パラメータ:
        `onChange` - onChangeイベント (例:onChange="renew('query.jsp','QUERY');")
      説明:

             onChange をセットします。
             例えば、<og:column name="KBSAKU" onChange="renew('query.jsp','QUERY');" />
             のように指定することで、プルダウンメニューの絞込み検索が可能になります。

      変更履歴:

        3.5.0.0 (2003/09/17) 新規追加
        3.5.5.9 (2004/06/07) セパレータ付きの追加メソッドに変更

    - #### setOnBlur

          public void setOnBlur(String onBlur)

      【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();")。
      パラメータ:
        `onBlur` - onBlurイベント (例:onBlur="this.value=value.toUpperCase();")
      説明:

             onBlur は、フォーカスが離れたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnFocus

          public void setOnFocus(String onFocus)

      【HTML】JavaScriptのイベント onFocus を設定します。
      パラメータ:
        `onFocus` - onFocusイベント
      説明:

             onFocus は、フォーカスされたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnSelect

          public void setOnSelect(String onSelect)

      【HTML】JavaScriptのイベント onSelect を設定します。
      パラメータ:
        `onSelect` - onSelectイベント
      説明:

             onSelect は、テキストフィールド/テキストエリアのテキストが
             選択されたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOndblClick

          public void setOndblClick(String ondblClick)

      【HTML】JavaScriptのイベント ondblClick を設定します。
      パラメータ:
        `ondblClick` - ondblClickイベント
      説明:

             ondblClick は、マウスでダブルクリックされたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnMouseDown

          public void setOnMouseDown(String onMouseDown)

      【HTML】JavaScriptのイベント onMouseDown を設定します。
      パラメータ:
        `onMouseDown` - onMouseDownイベント
      説明:

             onMouseDown は、マウスダウンされたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnMouseUp

          public void setOnMouseUp(String onMouseUp)

      【HTML】JavaScriptのイベント onMouseUp を設定します。
      パラメータ:
        `onMouseUp` - onMouseUpイベント
      説明:

             onMouseUp は、マウスアップされたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnMouseMove

          public void setOnMouseMove(String onMouseMove)

      【HTML】JavaScriptのイベント onMouseMove を設定します。
      パラメータ:
        `onMouseMove` - onMouseMoveイベント
      説明:

             onMouseMove は、マウスが移動されたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnMouseOut

          public void setOnMouseOut(String onMouseOut)

      【HTML】JavaScriptのイベント onMouseOut を設定します。
      パラメータ:
        `onMouseOut` - onMouseOutイベント
      説明:

             onMouseOut は、マウスが離れたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnMouseOver

          public void setOnMouseOver(String onMouseOver)

      【HTML】JavaScriptのイベント onMouseOver を設定します。
      パラメータ:
        `onMouseOver` - onMouseOverイベント
      説明:

             onMouseOver は、マウスが重なったときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnKeydown

          public void setOnKeydown(String onKeydown)

      【HTML】JavaScriptのイベント onKeydown を設定します。
      パラメータ:
        `onKeydown` - onKeydownイベント
      説明:

             onKeydown は、キーが押されたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnKeypress

          public void setOnKeypress(String onKeypress)

      【HTML】JavaScriptのイベント onKeypress を設定します。
      パラメータ:
        `onKeypress` - onKeypressイベント
      説明:

             onKeypress は、キーが押され続けていたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setOnKeyup

          public void setOnKeyup(String onKeyup)

      【HTML】JavaScriptのイベント onKeyup を設定します。
      パラメータ:
        `onKeyup` - onKeyupイベント
      説明:

             onKeyup は、キーが押された状態から離されたときに発生するイベントです。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setAutocomplete

          public void setAutocomplete(String autocomplete)

      【HTML5】入力候補を提示して入力内容を自動補完する[on/off]（初期値はon）。
      パラメータ:
        `autocomplete` - 自動補完設定 [on/off]（初期値はon）
      関連項目:
        autocomplete
      説明:

             HTML5から追加された新機能です。
             オートコンプリートを有効にする場合は、on 、無効にする場合は、off を設定します。
             初期値は、on(有効) です。

             <datalist> タグを使用して、入力候補となるデータリストを定義できます。
             各データのリスト項目は、<option>で定義します。 <datalist>をサポートしたブラウザでは、
             <option>で指定された値がユーザーに対して入力候補として提案表示されます。
             <input>のlist属性の値と<datalist>のid属性の値を同じにして、入力欄と
             データリストを関連付けます。

             利用可能type:[text,search,url,tel,email,password,datetime,date,month,week,time,datetime-local,number,range,color]

             <og:input type="text" name="yourarea" autocomplete="on" list="tokyo" />

              <og:datalist id="tokyo" >
                  <og:option value="渋谷" />
                  <og:option value="新宿" />
                  <og:option value="池袋" />
              </og:datalist><

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setAutofocus

          public void setAutofocus(String atfocus)

      【HTML5】指定した入力欄にカーソルが当たって自動的にフォーカスされます。
      パラメータ:
        `atfocus` - オートフォーカス
      関連項目:
        autofocus
      説明:

             HTML5から追加された新機能です。
             autofocus属性を指定すると、ウェブページが表示された際に、
             指定した入力欄にカーソルが当たって自動的にフォーカスされます。

             autofocus="autofocus" , autofocus="true" が指定された場合は、有効です。
             false も指定値としては、有効です。(大文字小文字の区別も不要)
             それ以外の指定は、エラーとします。

             利用可能type:[text,search,url,tel,email,password]

             ※ autofocus は、論理属性です。

             <og:input type="text" name="userid" autofocus="autofocus" />

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setPattern

          public void setPattern(String pattern)

      【HTML5】正規表現で入力値のパターンを指定します。
      パラメータ:
        `pattern` - 入力値正規表現
      関連項目:
        pattern
      説明:

             HTML5から追加された新機能です。
             正規表現を使って入力値のパターンを指定することができます。

             利用可能type:[text,search,url,tel,email,password]

             <og:input type="text" name="userid" pattern="^[0-9A-Za-z]+$" /> ※半角英数

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setPlaceholder

          public void setPlaceholder(String placeholder)

      【HTML5】入力欄に初期表示する内容を指定します。
      パラメータ:
        `placeholder` - 初期表示文字
      関連項目:
        placeholder
      説明:

             HTML5から追加された新機能です。
             placeholder属性で指定した値が、入力欄に初期値として表示されます。
             例えば、テキストフィールドに初期値として、 「検索するキーワードを入力してください」
             などのヒントを示してユーザーの操作を補助することができます。

             利用可能type:[text,search,url,tel,email,password]

             6.1.1.0 (2015/01/17)
              ① 1.引数を、{@XXXX} 処理せずに、XXXX でラベルリソースをチェックします。
                 2.なければ、全体を、RequestParameter 処理します。
              ② 変換後の文字列から、"￥n" を、"&#13;&#10;" に変換することで、改行に対応します。
                 実際は、CR か LF のどちらでも改行するようです。
              ③ title属性が、未設定なら、placeholder の設定キーと同じキーで、title を設定します。

             <og:input type="search" name="q" placeholder="キーワードを入力" />

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加
        6.1.1.0 (2015/01/17) 直接、ラベルリソースを表示できるようにする。

    - #### setList

          public void setList(String list)

      【HTML5】ユーザーに入力候補として提案するデータリストの要素のid属性の値を指定します。
      パラメータ:
        `list` - データリストID
      関連項目:
        list
      説明:

             HTML5から追加された新機能です。
             ユーザーに入力候補として提案するデータリストタグ(<datalist>)のid属性を
             この、list 属性に設定することで、関連付けができます。

             ※
             内部事情で、list属性 に設定するキーも、datalistタグのid属性に設定するキーも、
             inputタグ(columnタグ)の name属性＋".sel" を標準的に使用してください。

             利用可能type:[text,search,url,tel,email,datetime,date,month,week,time,datetime-local,number,range,color]

             		<og:input type="search" name="keywords" autocomplete="on" list="keywords.sel" />
             		<og:datalist id="keywords.sel">
             			<og:option value="ウィキペディア" />
             			<og:option value="ウィルス対策" />
             			<og:option value="ウィンドウズ" />
             		</og:datalist>

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setMin

          public void setMin(String min)

      【HTML5】入力欄で入力できる最小値を指定します。
      パラメータ:
        `min` - 入力できる最小値
      関連項目:
        min
      説明:

             HTML5から追加された新機能です。
              数値型や日付型の入力欄で入力できる最小値を指定することができます。

             利用可能type:[datetime,date,month,week,time,datetime-local,number,range]

             <og:input type="number" name="ninzu" min="1" max="4" />　※1人以上4人以下

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setMax

          public void setMax(String max)

      【HTML5】入力欄で入力できる最大値を指定します。
      パラメータ:
        `max` - 入力できる最大値
      関連項目:
        max
      説明:

             HTML5から追加された新機能です。
              数値型や日付型の入力欄で入力できる最大値を指定することができます。

             利用可能type:[datetime,date,month,week,time,datetime-local,number,range]

             <og:input type="number" name="ninzu" min="1" max="4" />　※1人以上4人以下

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setStep

          public void setStep(String step)

      【HTML5】入力欄で刻むステップ値を指定します。
      パラメータ:
        `step` - 入力ステップ値
      関連項目:
        step
      説明:

             HTML5から追加された新機能です。
             step属性を指定すると、 数値型や日付型の入力欄で刻むステップ値を指定することができます。

             利用可能type:[datetime,date,month,week,time,datetime-local,number,range]

             <og:input type="number" name="lot" step="0.5" />　※単位0.5

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setRequired

          public void setRequired(String req)

      【HTML5】入力必須を指定します。
      パラメータ:
        `req` - 入力必須かどうか [required/true/false]
      関連項目:
        required
      説明:

             HTML5から追加された新機能です。
             入力項目が入力必須であることをブラウザに知らせることができます。
             単独で、required 属性を使用できるようにしておきます。

             フレームワークの入力必須は、must 属性ですが、must 属性を指定した場合にも、
             システムリソースの USE_IE7_HEADER = "false" で、USE_HTML5_HEADER = "true" で、
             USE_MUST_REQUIRED = "true" の場合は、required 属性を出力します。

             利用可能type:[text,search,url,tel,email,datetime,date,month,week,time,datetime-local,number,checkbox,radio,file]

             ※ required は、論理属性です。

             <og:input type="text" name="yourname" required="required" />

      変更履歴:

        5.7.1.0 (2013/12/06) 新規追加

    - #### setRoles

          public void setRoles(String roles)

      【TAG】ロールをセットします。
      パラメータ:
        `roles` - ロール
      説明:

             ここで指定したカラムロールを元に、ユーザー毎のアクセス許可がチェックされます。
             アクセス許可されないと、表示されません。
             このロールを指定しない場合は、カラムリソースのロールが使用されます。

      変更履歴:

        4.0.0.0 (2005/11/30) 新規追加

    - #### setMust

          public void setMust(String flag)

      【TAG】必須入力を表す色に変えるかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
        `flag` - 必須入力指定 [true:必須入力/それ以外:必須でない]
      関連項目:
        `setUseMustHidden( String )`
      説明:

             初期値は、必須でない("false") です。
             useMustHidden==true(初期値) の場合は、必須の自動チェック用Hiddenを出力するため、
             submit することで、必須チェックをかけることができます。
             さらに、システムリソースの USE_HTML5_HEADER が、true に指定されている場合は、
             HTML5 適用として、required 属性も、出力します。
               ※ 6.1.0.0 (2014/12/26)
                  useMustHidden==true かつ、USE_HTML5_HEADER==true かつ USE_IE7_HEADER==false
                  の場合に、required 属性(HTML5の必須チェック)を出力します。
                  これは、#doEndTag() の中の、#makeTag() の直前でセットしますので、
                  #doEndTag() を継承する場合は、ご注意ください。

             <og:input name="PN" must="true" />

      変更履歴:

        5.2.1.0 (2010/10/01) 新規追加
        5.7.1.0 (2013/12/06) HTML5 対応(required属性)。
        6.1.0.0 (2014/12/26) HTML5のrequired属性は、useMustHidden==true でも制御可能とする。

    - #### setMustAny

          public void setMustAny(String flag)

      【TAG】選択必須入力(どれかひとつ必須)を表す色[true/mustAny/その他]を指定します(初期値:無指定)。
      パラメータ:
        `flag` - 選択必須入力指定 [true/mustAny/その他]
      関連項目:
        `setUseMustHidden( String )`
      説明:

             複数のカラムのうち、どれかひとつを必須とする選択必須入力を示す色を指定します。
             true または、mustAny を設定すると、class属性に、mustAny がセットされます。
             mustAny は、CSSファイルに初期設定されています。true または、mustAny 以外の値をセット
             すると、その値がそのまま、class属性にセットされますので、選択必須のグループ化が
             可能です。
             なお、実際の選択必須入力チェックは、ここではなく、columnCheck タグで指定が必要です。
             自動処理は、mustAny="true" 指定の場合のみ有効です。
             初期値は、無指定です。

      変更履歴:

        5.2.1.0 (2010/10/01) 新規追加

    - #### setUseMustHidden

          public void setUseMustHidden(String flag)

      【TAG】必須の自動チェック用Hiddenを出力するかどうか[true/false]を指定します(初期値:true)。
      パラメータ:
        `flag` - 必須自動チェック [true:使用する/それ以外:使用しない]
      関連項目:
        `setMust( String )`, `setMustAny( String )`
      説明:

             query.jsp上でmust/mustAny指定した場合に検索時の必須チェックを自動化するための
             hiddenを出力するかどうかを選択します。
             初期値は、出力する("true") です。
             通常は初期値で問題ありませんが、必須の切替をScriptで行う場合等に邪魔になる場合が
             あるため出力の切替を出来るようにしておきます。

      変更履歴:

        5.7.2.0 (2013/01/10) 新規作成

    - #### setAimai

          public void setAimai(String val)

      【TAG】曖昧検索可能フィールドとして、曖昧検索方法を指定します(初期値:null)。
      パラメータ:
        `val` - 曖昧検索指定 [0,V:完全一致/1,V*:前方一致/2,*V:後方一致/3,*V*:前後曖昧]
      説明:

             従来は、clazz="aimai" として、点線の入力フィールドのみ作成していましたが、
             AimaiPicker をCallするようにして、検索方法を指定できるようにします。
             なお、AimaiPickerは、カラムの値に、選択した条件に応じた ％を付与するため、
             result.jsp の like には、％を含めない様に記述してください。

             ※ 互換表示の為に、"true" 属性は残しておきます。ピッカー無しで、点線の入力フィールド
                のみ設定します。(clazz="aimai" は、廃止の方向です)

               ① class="aimai" の設定 (ほぼ、従来と同じ)
               ② AimaiPicker となる、preタグを出力(スペースを含む固定幅文字にするため)
               ③ aimai属性で、前方一致、後方一致、前後曖昧、完全一致 選択が可能
               ④ aimai属性で選択した検索方法を、submit時にvalueに反映し、result.jsp に送信する。

             aimai属性の指定方法を以下に示します。
             　"0" または "V"   :完全一致
             　"1" または "V*"  :前方一致
             　"2" または "*V"  :後方一致
             　"3" または "*V*" :前後曖昧
             　"true"           :従来互換(clazz="aimai")

             Vは、0,1,2,3 以外であれば、何でも構いません。* の位置で判定します。

      変更履歴:

        6.2.0.0 (2015/02/27) aimai 属性を追加。

    - #### getMustType

          protected String getMustType()

      mustType 属性を取得します。 must , mustAny 属性を設定する場合に、mustType 属性を設定します。 その設定された値を取り出します。 何も設定されていない状態では、null を返します。
      戻り値:
        mustType属性
      変更履歴:

        5.2.1.0 (2010/10/01) 新規追加。

    - #### makeMustHidden

          protected String makeMustHidden(String name)

      must , mustAny 属性を自動化するためのhiddenタグを生成します。 HybsSystem.MUST_KEY + mustType をキーに、指定のカラム名を値として hidden を作成します。この値を columnChack タグで拾って must 処理します。 なお、must , mustAny 属性を使用していない場合は、ゼロ文字列 を返します。
      パラメータ:
        `name` - must指定するカラム等の名称
      戻り値:
        自動化するためのhiddenタグ
      変更履歴:

        5.2.1.0 (2010/10/01) 新規追加。
        5.7.2.0 (2014/01/10) useMustHidden対応
        6.2.0.0 (2015/02/27) MustHidden は、同一 name で、カラム名を作成するので、id は、セットしない。

      このメソッドは、nullを返しません

    - #### makeAimaiPicker

          protected String makeAimaiPicker(String name)

      aimai 属性を自動化するためのAimaiPicker関連タグを生成します。 AIMAI_xxxのid属性をキーに、指定のカラムのvalue値の％付加を、JavaScriptで行います。 そのための、preタグを出力します。
      パラメータ:
        `name` - aimai指定するカラム
      戻り値:
        自動化するためのpreタグ
      変更履歴:

        6.2.0.0 (2015/02/27) aimai 属性を追加。
        6.2.2.0 (2015/03/27) id属性がある場合は、そちらを優先する。

      このメソッドは、nullを返しません

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.