|
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.HTMLTagSupport
org.opengion.hayabusa.taglib.ColumnTag
public class ColumnTag
カラムリソースに基づいた、入力フィールドなどを作成するHTML拡張タグです。 name 属性に カラムリソースのキーを与えることにより、指定した表示形式にて画面に表示します。 column タグは、リソースの設定が反映されるため、アプリケーションを修正せずに、 機能拡張することが可能です。たとえば、テキストフィールド入力に設定していたカラムを、 プルダウンメニューに即座に変更可能です。 カラム定義でロールが指定されている場合、ログインユーザーでアクセス許可がない場合は カラムは表示されません。 カラムリソースに存在しない場合や特殊用途に使用する場合は、inputタグを使用してください。
●形式:<og:column name=… value=… />
●body:あり
●使用例
<og:column name="PN" /> 編集種別がTextの場合は、テキストフィールドが表示されます。
通常はNAME属性を指定するだけです。
<og:column name="CDC" /> 編集種別がMenuの場合は、メニューが表示されます。
<og:column name="PN" value="syokichi" /> 初期値をセットするときはvalue属性を使います。
<og:column name="PN" lbl="PNL" /> ラベルを変更するときはlbl属性を使います。
<og:column name="CDC" /> リソースファイルからコンボボックスも自動作成されます。
<og:column name="CDC" addNoValue="false" /> NULL値を消すときはaddNoValue属性を使います。
<og:column name="CDC" addNoValue="false" must="true" /> 属性は、複数組み合わせて使えます。
<og:column name="PN" must="true" /> 色を変更するときはmust属性を使います。
<og:column name="PN" td="false" /> 自動作成されるtdタグやラベルを外すときはtd属性を使います。
<og:column name="PN" td="no" /> 自動作成されるtdタグを外し、ラベルとフィールドは残します。
<og:column name="PN" writable="false" /> 非入力にするときはwritable属性を使います。
<og:column name="PN" size="20" /> 強制的にSIZEの変更をするときはsize属性を使います。
<og:column name="A" nextForm="B" /> 最大桁数入力後、フォーム B にフォーカスが移動します。
<og:column name="B" />
BODY 部分に記述した値は、カラムフィールドの直後にセットされます。
<og:column name="PN" >
<button type="button" onclick="popup(・・・);return false;">
<og:message lbl="POPUP" comment="▼" />
</button>
</og:column>
eventColumnを利用すると、親カラムの変更に従って子カラムの内容を変える事が可能です。
・親子関係のプルダウンを作成する場合
<og:column name="OYA" />
<og:column name="KO" eventColumn="OYA" param="SELECT ... WHERE COL = '{@OYA}'" />
・親子関係の入力欄(親のデータで子をDBから検索)を作成する場合
<og:column name="OYA" />
<og:column name="KO" eventColumn="OYA" param="SELECT A AS VALUE WHERE COL = {@OYA}" />
・親子関係の要素をカスタム化されたJSPを利用して作成する場合
変更するカラムはJSPで記述されており、指定する事が可能です。
<og:column name="OYA" />
<og:column name="KO" eventColumn="OYA" param="{@OYA}" eventURL="custom_makeColumn.jsp" />| フィールドの概要 |
|---|
| クラス 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 |
| コンストラクタの概要 | |
|---|---|
ColumnTag()
|
|
| メソッドの概要 | |
|---|---|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。 |
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。 |
protected java.lang.String |
getName()
【TAG】カラムの名前を返します。 |
protected java.lang.String |
makeTag()
検索条件の入力用のテキストフィールドを作成します。 |
protected void |
release2()
タグリブオブジェクトをリリースします。 |
void |
setAddNoValue(java.lang.String flag)
【TAG】コンボボックスの場合、値なしのOptionを含めるかどうか(true/false)を指定します(初期値:true)。 |
void |
setCodeGroup(java.lang.String group)
【TAG】コードセレクトのサブセットとなるグループを指定します。 |
void |
setCodeList(java.lang.String list)
【TAG】コードセレクトのサブセットとなるコードをCSV形式で指定します。 |
void |
setCodeName(java.lang.String name)
【TAG】コードセレクトのユニークキー(コード名称)をセットします。 |
void |
setColspan(java.lang.String sp)
【TAG】フィールド部分の colspan を指定します。 |
void |
setDbType(java.lang.String dt)
【TAG】DBタイプ(DBType_****)をセットします。 |
void |
setDefaultVal(java.lang.String dv)
【TAG】value属性に値がセットされていないときに、初期値をセットします。 |
void |
setEditor(java.lang.String ed)
【TAG】カラムの編集用エディター(Editor_****)をセットします。 |
void |
setEventColumn(java.lang.String col)
【TAG】イベントカラム(親カラム)セット |
void |
setEventURL(java.lang.String url)
【TAG】イベントURLのセット |
void |
setMaxlength(java.lang.String maxlen)
【TAG】最大入力文字数を指定します(入力可能文字数で、バイト数ではありません)。 |
void |
setName(java.lang.String name)
【TAG】カラムの名前を指定します。 |
void |
setNextForm(java.lang.String name)
【TAG】入力カーソルを、指定されたname属性のフィールドへ自動的に移動させます。 |
void |
setParam(java.lang.String prm)
【TAG】パラメータをセットします |
void |
setRenderer(java.lang.String rdr)
【TAG】カラムの表示用レンデラー(Renderer_****)をセットします。 |
void |
setSize(java.lang.String size)
【TAG】カラムの表示サイズ(横幅)を文字数でセットします(入力文字制限ではありません)。 |
void |
setTd(java.lang.String flag)
【TAG】テーブル形式の <td> タグを使用するかどうか(yes/no/false)を指定します(初期値:yes)。 |
void |
setUseDefaultPropertieVal(java.lang.String dv)
【TAG】リソースファイルの初期値を使うかどうかを指定します(初期値:false)。 |
void |
setUseRequestValue(java.lang.String flag)
【TAG】value が null の場合に、name 属性から Request情報 を適用するかどうかを指定します(初期値:true)。 |
void |
setValue(java.lang.String val)
【TAG】初期値を指定します。 |
void |
setWritable(java.lang.String flag)
【TAG】書き込みタイプかどうか(true/false)を指定します(初期値:true)。 |
void |
setXssCheck(java.lang.String flag)
【TAG】リクエスト情報の HTMLTag開始/終了文字(><) 存在チェックを実施するかどうか(true/false)を設定します(初期値:USE_XSS_CHECK)。 |
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。 |
| クラス org.opengion.hayabusa.taglib.HTMLTagSupport から継承されたメソッド |
|---|
doEndTag, getMustType, makeMustHidden, setAccesskey, setClazz, setDir, setDisabled, setId, setLang, setMust, setMustAny, setOnBlur, setOnChange, setOnClick, setOndblClick, setOnFocus, setOnKeydown, setOnKeypress, setOnKeyup, setOnMouseDown, setOnMouseMove, setOnMouseOut, setOnMouseOver, setOnMouseUp, setOnSelect, setOptionAttributes, setReadonly, setRoles, setStyle, setTabindex, setTitle |
| クラス 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 |
| コンストラクタの詳細 |
|---|
public ColumnTag()
| メソッドの詳細 |
|---|
public int doStartTag()
javax.servlet.jsp.tagext.Tag 内の doStartTagCommonTagSupport 内の doStartTag| 3.8.0.4 (2005/08/08) 新規追加(BODY部の評価) |
| 5.1.7.0 (2010/06/01) command=RENEWの場合はdefaultValを無視する。 |
| 5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応 |
public int doAfterBody()
javax.servlet.jsp.tagext.IterationTag 内の doAfterBodyCommonTagSupport 内の doAfterBody| 3.8.0.4 (2005/08/08) 新規追加(BODY部の評価) |
| 5.1.7.0 (2010/06/01) XSS解除対応 |
protected void release2()
HTMLTagSupport 内の release2| 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
| 2.0.0.8 (2002/10/09) yes/no/false で指定するように変更 |
| 3.0.0.0 (2002/12/25) colspan 属性を追加。 |
| 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 属性を追加。 |
| 3.5.4.9 (2004/02/25) useRequestValue 属性を追加。 |
| 3.5.6.0 (2004/06/18) Attributes 経由でなく、直接 DBColumnConfig に設定します。 |
| 3.8.0.4 (2005/08/08) body , useBody 属性を追加。 |
| 3.8.0.6 (2005/09/12) codeName 属性を追加。 |
| 4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。 |
| 5.1.7.0 (2010/06/01) XSS解除対応 |
| 5.1.9.0 (2010/08/01) codeList , codeGroup属性を追加。(Codeリソースのサブセット) |
| 5.2.1.0 (2010/10/01) must , mustAny 属性の処理を、HTMLTagSupport に移します。 |
| 5.2.3.0 (2010/12/01) useDefaultPropertieVal 属性の初期値をシステムリソースで定義 |
protected java.lang.String makeTag()
HTMLTagSupport 内の makeTag| 2.0.0.8 (2002/10/09) yes/no/false で指定するように変更 |
| 2.0.1.0 (2002/10/10) ラベルとフィールドのセパレーターとして、コロン(:)を使用するかどうかを指定できる |
| 3.0.0.0 (2002/12/25) colspan 属性を追加。 |
| 3.0.1.4 (2003/03/17) colspan 属性の制御方法を変更 |
| 3.5.4.9 (2004/02/25) value が null の時の 値の設定方法 |
| 3.5.4.9 (2004/02/25) value が null の時の 値の設定方法 |
| 3.8.0.4 (2005/08/08) body 属性を追加。 |
| 3.8.7.0 (2006/12/15) カラムリソースで指定したカラムラベルを反映させる。 |
| 4.0.0 (2005/11/30) カラムロールを考慮 |
| 4.1.2.1 (2008/03/13) must , mustAny 属性を自動化します。 |
| 4.3.7.1 (2009/06/08) id=labelのclass化 |
| 5.2.1.0 (2010/10/01) must , mustAny 属性の処理を、HTMLTagSupport に移します。 |
protected java.lang.String getName()
<og:column name="PN" />
| 4.2.4.0 (2008/07/01) |
public void setName(java.lang.String name)
name - String<og:column name="PN" />
| 3.8.0.9 (2005/10/17) RequestParameter変数({@XXXX})が使用できるように修正 |
public void setValue(java.lang.String val)
val - String<og:column name="PN" value="syokichi" />
public void setDefaultVal(java.lang.String dv)
dv - 初期値value属性に値がセットされていないときに、初期値をセットします。 なお、commandがRENEWの場合は、このdefaultValは適用されません。 これは、defaultValの値が埋め込まれた項目が存在する画面に戻った際に、 defaultValの項目の値がnullとなっていた場合に、defaultValの値が復元されると、 検索結果との不一致が発生するためです。
public void setUseDefaultPropertieVal(java.lang.String dv)
dv - ファイルの初期値を 使う:true / 使わない:false(初期値)初期値がセットされていないときに指定します。 使う場合はtrue、 使わない場合は falseをセットします。 この初期値を、システムリソースの USE_DEFAULT_PROPERTIE_VALUE で設定可能とします。
| 2.1.0.0 (2002/10/11) useDefaultPropertieVal 属性を追加。 |
| 5.2.3.0 (2010/12/01) 初期値をシステムリソースで定義(USE_DEFAULT_PROPERTIE_VALUE) |
public void setTd(java.lang.String flag)
flag - yes:<td> タグを使用 / no:ラベルとフィールド / false:フィールドのみyes(初期値) とすると、ラベルとフィールドをテーブルのtdタグでそれぞれ記述します。 no とすると、tdタグを使用せず、ラベルとフィールドを表示します。 false は、ラベルを出さずに、フィールドのみを表示します。 <td><og:column name="PN" td="no" /> </td>
| 2.0.0.8 (2002/10/09) yes/no/false で指定するように変更 |
| 2.1.2.3 (2002/12/02) errMsg の文字列の修正漏れを訂正 |
public void setAddNoValue(java.lang.String flag)
flag - 含める ("true")/含めない (それ以外)カラムがプルダウンメニュー形式の場合、選択肢には通常データベース登録できる候補が 並びます。しかし、検索時には、候補を絞りたくない(指定しない)場合があり、 その様な場合には、値なしのOptionを含める(true)ことで、対応可能です。 初期値:true(値なしのOptionを含める)なので、検索画面に利用する場合は、そのまま使用できます。 <og:column name="CDC" addNoValue="false" />
public void setWritable(java.lang.String flag)
flag - 書き込みタイプ("true")/ラベルタイプ(それ以外) 初期値は、書き込みタイプ("true") です。
<og:column name="PN" writable="false" />public void setMaxlength(java.lang.String maxlen)
maxlen - String<og:column name="PN" maxlength="20" />
| 3.5.4.2 (2003/12/15) 最大入力制限数に応じたサイズ自動生成を入れます。 |
| 3.5.4.5 (2004/01/23) CSSで処理する場合のクラス属性は、maxlength が 5 以下の場合とする。 |
| 3.5.6.0 (2004/06/18) Attributes 経由でなく、直接 DBColumnConfig に設定します。 |
public void setSize(java.lang.String size)
size - String<og:column name="PN" size="20" />
| 3.5.6.0 (2004/06/18) Attributes 経由でなく、直接 DBColumnConfig に設定します。 |
public void setColspan(java.lang.String sp)
sp - フィールド部分の colspan通常の出力では、ラベルとフィールドのtdが2つ使用されます。この colspan は、 フィールドに追加されます。 たとえば、3 を指定した場合、フィールドが、次のテーブルの、ラベル、フィールド部分まで 伸びるため、レイアウト的にすっきりと、長いフィールドを適用する事が可能です。 <og:column name="PN" colspan="3" />
| 3.0.0.0 (2002/12/25) colspan 属性を追加。 |
| 3.0.1.4 (2003/03/17) colspan 属性の制御方法を変更 |
public void setNextForm(java.lang.String name)
name - StringJavaScript の onKeyup イベントを利用して、最大桁数まで入力すると、 次のフィールドに、自動的にカーソルが飛ぶように設定します。 引数は、次に飛ばすフィールドの name 属性です。 実行するには、JavaScript の nextForm 関数が必要です。(default.js で指定)
| 3.5.4.2 (2003/12/15) 新規追加 |
public void setUseRequestValue(java.lang.String flag)
flag - String value が null の時の 値の設定方法 name 属性に一致するリクエスト情報がある場合、value が null の場合や、
引数を設定していない場合は、この設定値に応じて、リクエスト情報の値を
設定します。(初期値 true なので、通常はこの動きです。)
ごくまれに、ENTRY 系の削除を行う場合、リクエスト情報が残り、削除されずに
再表示(DB的には削除済み)されるケースでは、使用しない(false)設定が可能です。
useRequestValue | true(初期値) | false
------------------+------------------------+------------
value |A A A A _ _ _ _ |_ _ _ _
name(Request情報)|B B _ _ B B _ _ |B B _ _
defaultVal |C _ C _ C _ C _ |C _ C _
==================+========================+============
設定値 |A A A A B B C _ |C _ C _| 3.5.4.9 (2004/02/25) 新規追加 |
public void setCodeName(java.lang.String name)
name - String メニューのユニークキーこのキーを元に、CodeData オブジェクトを構築します。
| 3.8.0.6 (2005/09/12) 新規作成 |
public void setCodeList(java.lang.String list)
list - String コードセレクトのサブセットとなるコードこの値に限定された、コードリソースを、既存の、CodeData の サブセットとして作成します。 codeName で指定されたリソースでも、サブセットを作成する事ができます。
| 5.1.9.0 (2010/08/01) 新規作成 |
public void setCodeGroup(java.lang.String group)
group - String コードセレクトのサブセットとなるグループこの値に限定された、コードリソースを、既存の、CodeData の サブセットとして作成します。 codeName で指定されたリソースでも、サブセットを作成する事ができます。
| 5.1.9.0 (2010/08/01) 新規作成 |
public void setRenderer(java.lang.String rdr)
rdr - カラムの表示用レンデラー(Renderer_**** の ****)CellRendererこれは、plugin.column 以下の Renderer_**** クラスの **** を 与えます。これらは、CellRenderer インターフェースを継承したサブクラスです。 属性クラス定義の Renderer を参照願います。
public void setEditor(java.lang.String ed)
ed - カラムの編集用エディター(Editor_**** の ****)CellEditorこれは、plugin.column 以下の Editor_**** クラスの **** を 与えます。これらは、CellEditor インターフェースを継承したサブクラスです。 属性クラス定義の Editor を参照願います。
public void setDbType(java.lang.String dt)
dt - パラメータDBType_**** の ****これは、org.opengion.hayabusa.db.column 以下の DBType_**** クラスの **** を 与えます。これらは、DBType インターフェースを継承したサブクラスです。 属性クラス定義の DBType を参照願います。
public void setEventColumn(java.lang.String col)
col - String 親カラム 親子関係を持った項目の動的な入れ替えを行う場合に利用します。
このカラムを変化させるトリガとなるカラムの名前をセットします。
この属性がセットされた場合、親カラムが変更都度子カラム(自身のカラム)が
再表示されます。
標準で再表示時に受け継がれる属性は以下の通りです。
(1)editor・renderer
(2)writable
(3)addNoValue
(4)class(must・mustAnyや、DBTypeを含みます)
(5)style(optionAttributes等でセットしたもの)
(6)size
(7)maxlength
これら以外に特殊な設定を行ったカラムに関しては、eventURL属性でカスタムの
置き換え用JSPを作成し、個別に対応して下さい。
また、置き換えの定義は、param属性で定義します。
param属性に定義されたSQL文の結果により、各種エディター、レンデラーによって、以下の
ように置き換えが行われます。
(1)DBMENUの場合
paramに指定されたSQL文により動的にプルダウンを置き変えます。
SQL文の{@xxx}の記述により、その時点での親カラムの値を参照することができます。
例) SELECT A.CODE,B.LNAME FROM GEA04 A,GEA08 B
WHERE A.CLM||'.'||A.CODE = B.CLM
AND A.SYSTEM_ID = B.SYSTEM_ID
AND A.CLM like 'KBSAKU%'
AND B.LANG like '{@LANG}' ← name=LANGを持つ項目のその時点での値に変換される
AND B.SYSTEM_ID = '**'
(2)DBMENU以外の場合
paramに指定されたSQL文により値(value値)を置き換えたカラムを作成し、置き換えます。
DBMENUの場合と同様、SQL文の{@xxx}の記述により、その時点での親カラムの値を参照することができます。
例) SELECT LABEL_NAME FROM GF41
WHERE SYSTEM_ID='{@SYS.SYSTEM_ID}' AND CLM='{@CLM}' AND LANG='{@LANG}'
なお、いずれの場合も、{@xxx}の部分については、$1,$2...の形式でも記述することができます。
この場合、$1は1番目のeventColumnのカラム、$2は2番目のeventColumnのカラムと指します。
(注意点1)イベントカラムによるイベントは、画面表示時に1度実行されます。
但し、eventColumn属性で、カラム名の先頭に'_'をつけた場合、
または親カラムの値がNULLの場合は実行されません。
(注意点2)SQL文などのパラメーター中に記述された{@xxx}の値の変換はJavaScriptにより行われるため、
値が取得できる項目は、"画面に書き込み可能状態で表示されているカラム"に限ります。
テーブルモデル内の変数や表示のみの値については、ここでは利用することはできません。
(注意点3)現時点では、INMENU,INDBMENUについては、入れ替え後のJavaScriptが正常に動作しないため、
イベントカラムが正常に動作しません。| 4.3.6.0 (2009/04/01) |
| 5.1.7.0 (2010/06/01) コメント大幅修正 |
public void setEventURL(java.lang.String url)
url - String イベントURL 初期値はシステムリソースのEVENT_COLUMN_URLです。
イベントカラム指定時に部品を作成するJSPを指定します。
(設定例:eventURL="makeColumn_custom.jsp")
置き換え対象のカラムに特殊な設定がされており、標準のカラム置き換えでは対応できない場合に、
このURLを指定することで、個別に置き換え方法を定義する必要があります。
なお、個別に置き換え方法を定義したJSPを作成する場合は、標準(jsp/common/eventColumnMaker.jsp)を
参考にして作成して下さい。
eventColumnから利用するJSPで利用可能なリクエスト変数
{@EC_CNAME} 子カラム名(一覧表示の場合でも行番号__nは付加されません)
{@EC_RENDERER} 子カラムのレンデラー
{@EC_EDITOR} 子カラムのエディター
{@EC_SQL} 子カラムのプルダウン、または値を出力するためのSQL文({@xxx}をカラムのvalue値で置き換えたもの)
{@EC_WRITABLE} 子カラムが編集可能などうか
{@EC_CVALUE} 子カラムの現在の値
{@EC_NOVALUE} 子カラムの最上部Option値が空ならtrue。その他false(addNoValue属性値と同じです)
{@EC_CLASS} 子カラムのCLASS属性
{@EC_SIZE} 子カラムのSIZE属性
{@EC_MAXLENGTH} 子カラムのMAXLENGTH属性
{@EC_OPTATTRS} 子カラムのその他OPTION属性
{@EC_PNAMEE} 親カラム名(一覧表示の場合でも行番号__nは付加されません)
{@EC_PVALUE} 親カラムの現在の値| 4.3.6.0 (2009/04/01) |
| 5.1.7.0 (2010/06/01) コメント大幅修正 |
public void setParam(java.lang.String prm)
prm - String パラメータ EditorParam等のパラメータを一括でセットします。
eventColumn利用時は{@xxx}はリクエストパラメータではなく
xxxカラムの実際の値が利用されます。| 4.3.6.0 (2009/04/01) |
public void setXssCheck(java.lang.String flag)
flag - boolean XSSチェックする (true)/しない (false)クロスサイトスクリプティング(XSS)対策の一環としてless/greater than signについてのチェックを行います。 (><) が含まれていたエラーにする(true)/かノーチェックか(false)を指定します。 初期値は、SystemData#USE_XMLLTAG_CHECK です。
| 5.1.7.0 (2010/06/01) 新規追加 |
public java.lang.String toString()
CommonTagSupport 内の toString
|
openGion 5.3.9.0 | ||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||