*
* BODY 部分に記述した値は、カラムフィールドの直後にセットされます。
* <og:column name="PN" >
- * <button type="button" onclick="popup(・・・);return false;">
+ * <og:button type="button" onclick="popup(・・・);return false;">
* <og:message lbl="POPUP" comment="▼" />
- * </button>
+ * </og:button>
* </og:column>
*
* eventColumnを利用すると、親カラムの変更に従って子カラムの内容を変える事が可能です。
* @since JDK5.0,
*/
public class ColumnTag extends HTMLTagSupport {
- /** このプログラムのVERSION文字列を設定します。 {@value} */
- private static final String VERSION = "8.4.3.0 (2023/03/31)" ;
- private static final long serialVersionUID = 843020230331L ;
+ /** このプログラムのVERSION文字列を設定します。 {@value} */
+ private static final String VERSION = "8.5.2.0 (2023/07/14)" ;
+ private static final long serialVersionUID = 852020230714L ;
// 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
private static final Set<String> TYPE_SET = new ArraySet<>( "text","search","tel","url","email","datetime","date","month","week","time","datetime-local","number","range","color" );
// 8.4.3.0 (2023/03/31) システム定数 初期値を 使う:true / 使わない:false
private static final boolean USE_DEFVAL = HybsSystem.sysBool( "USE_DEFAULT_PROPERTIE_VALUE" );
- // 4.0.0 (2005/01/31) HTML_LABEL_SEPARATOR を boolean 変数として取得します。
- private final String CLM = HybsSystem.sysBool( "HTML_LABEL_SEPARATOR" ) ? ":" : "" ;
+ /** HTML_LABEL_SEPARATOR を boolean 変数として取得します。 */
+ private final String CLM = HybsSystem.sysBool( "HTML_LABEL_SEPARATOR" ) ? ":" : "" ; // 4.0.0 (2005/01/31)
/** yes:<td> タグを使用 / false:フィールドのみ / no:ラベルとフィールド */
private String tdFlag = "yes";
private boolean addNoValue = true;
/** キー:ラベル形式で表示するかどうか */
private String addKeyLabel ; // 6.0.4.0 (2014/11/28)
+ /** カラムの名前 */
private String name ;
+ /** 設定値 */
private String value ;
/** 書き込み/ラベルを指定する */
private boolean writable = true; // true で書き込み
/** nextForm 属性 */
private String nextForm ; // 3.5.4.2 (2003/12/15)
- // 3.5.4.9 (2004/02/25) value が null の場合に、リクエスト情報を設定します。
- private boolean useRequestValue = true; // 初期値:true
+ /** value が null の場合に、リクエスト情報を設定します(初期値:true)。 */
+ private boolean useRequestValue = true; // 3.5.4.9 (2004/02/25)
// 3.5.6.0 (2004/06/18) Attributes 経由でなく、直接 DBColumnConfig に設定します。
+ /** 入力枠サイズ(横幅) */
private String fieldSize ; // 6.2.0.0 (2015/02/27)
+ /** 表示サイズ(横幅) */
private String viewSize ; // 6.2.0.0 (2015/02/27)
+ /** 最大入力文字数 */
private String maxlength ;
- // 3.8.0.4 (2005/08/08) BODY 部分に記述した値は、カラムフィールドの直後にセットされます。
- private String body ;
+ /** BODY 部分に記述した値は、カラムフィールドの直後にセットされます。 */
+ private String body ; // 3.8.0.4 (2005/08/08)
+ /** コードセレクトのユニークキー */
private String codeName ; // 3.8.0.6 (2005/09/12)
/** Codeリソースのサブセット */
private String codeList ; // 5.1.9.0 (2010/08/01)
private boolean useLblBody ; // 7.4.2.0 (2021/04/30)
// 4.0.0 (2007/05/30) カラム状態を動的に変更します。
+ /** カラムの表示用レンデラー */
private String renderer ;
+ /** カラムの編集用エディター */
private String editor ;
+ /** カラムのDBタイプ */
private String dbType ;
/** 親カラムの指定 */
private String eventColumn ; // 4.3.6.0 (2009/04/01)
+ /** イベントValueのSQL分 */
private String eventValue ; // 6.3.3.0 (2015/07/25)
/** eventColumnで飛ばすURL */
private String eventURL ; // 4.3.6.0 (2009/04/01)
/** パラメータを変更可能にする */
private String param ; // 4.3.6.0 (2009/04/01)
+ /** データベースへ接続する場合のID */
private String dbid ; // 5.7.6.2 (2014/05/16)
+ /** カラムに対するヘルプファイル */
private String help ; // 6.3.2.0 (2015/07/10)
/** XSS対策 */
private boolean xssCheck = HybsSystem.sysBool( "USE_XSS_CHECK" ); // 5.1.7.0 (2010/06/01)
+ /** 短縮ラベルの利用有無 */
private String useSLabel = "auto"; // 5.5.1.0 (2012/04/03)
/** 日付送り戻し機能の有効/無効 */
private boolean useDateFeed = true; // 8.1.2.3 (2022/05/20)
* @og.rev 6.7.7.2 (2017/04/14) (注意点3)現時点では、INMENU,INDBMENUについては、イベントカラムが正常に動作しません。
* @og.rev 8.4.3.0 (2023/03/31) useDefaultPropertieVal 属性廃止
* @og.rev 8.4.3.0 (2023/03/31) defaultVal の設定値の取り扱い(変更あり)
+ * @og.rev 8.5.2.0 (2023/07/14) 一部の機能廃止による修正(問合・トラブル 0200010980)
*
* @param clm DBColumnカラムオブジェクト
* @param value 設定値
final DBColumnConfig config = clm.getConfig();
- // 5.7.6.2 (2014/05/16) IEのHTML5機能が無効の場合の処理
- final String ieHTML5 = (String)getSessionAttribute( HybsSystem.IE_HTML5_KEY );
- if( "FALSE".equalsIgnoreCase( ieHTML5 ) ) {
- if( "DATALIST".equalsIgnoreCase( editor ) ||
- "DATALIST".equalsIgnoreCase( config.getEditor() ) ) {
- editor = "INDBMENU";
- // 5.7.6.2 (2014/05/16) list 属性は削除します。
- set( "list",null );
- }
- // 5.9.18.1 (2017/03/24) IEのHTML5機能が無効の場合の処理(DATALIST_R用)
- if( "DATALIST_R".equalsIgnoreCase( editor ) ||
- "DATALIST_R".equalsIgnoreCase( config.getEditor() )){
- editor = "INMENU";
- set( "list",null );
- }
- }
+// // 5.7.6.2 (2014/05/16) IEのHTML5機能が無効の場合の処理 8.5.2.0 (2023/07/14) Delete
+// final String ieHTML5 = (String)getSessionAttribute( HybsSystem.IE_HTML5_KEY );
+// if( "FALSE".equalsIgnoreCase( ieHTML5 ) ) {
+// if( "DATALIST".equalsIgnoreCase( editor ) ||
+// "DATALIST".equalsIgnoreCase( config.getEditor() ) ) {
+// editor = "INDBMENU";
+// // 5.7.6.2 (2014/05/16) list 属性は削除します。
+// set( "list",null );
+// }
+// // 5.9.18.1 (2017/03/24) IEのHTML5機能が無効の場合の処理(DATALIST_R用)
+// if( "DATALIST_R".equalsIgnoreCase( editor ) ||
+// "DATALIST_R".equalsIgnoreCase( config.getEditor() )){
+// editor = "INMENU";
+// set( "list",null );
+// }
+// }
if( maxlength != null ) { config.setMaxlength( maxlength ); }
if( fieldSize != null ) { config.setFieldSize( fieldSize ); } // 6.2.0.0 (2015/02/27) メソッド名変更
// 5.1.7.0 (2010/06/01) 動的プルダウン実装見直し
final String evCol = column.getEventColumn();
if( evCol != null && evCol.length() > 0 ){
- // 6.7.7.2 (2017/04/14) (注意点3)現時点では、INMENU,INDBMENUについては、イベントカラムが正常に動作しません。
- if( "INMENU".equals( config.getEditor() ) || "INDBMENU".equals( config.getEditor() ) ) {
- final String errMsg = "(注意点3)現時点では、INMENU,INDBMENUについては、イベントカラムが正常に動作しません。" + CR
- + "\t name=[" + name + "] , eventColumn=[" + evCol + "] , editor=[" + config.getEditor() + "]";
- throw new HybsSystemException( errMsg );
- }
+// // 6.7.7.2 (2017/04/14) (注意点3)現時点では、INMENU,INDBMENUについては、イベントカラムが正常に動作しません。8.5.2.0 (2023/07/14) Delete
+// if( "INMENU".equals( config.getEditor() ) || "INDBMENU".equals( config.getEditor() ) ) {
+// final String errMsg = "(注意点3)現時点では、INMENU,INDBMENUについては、イベントカラムが正常に動作しません。" + CR
+// + "\t name=[" + name + "] , eventColumn=[" + evCol + "] , editor=[" + config.getEditor() + "]";
+// throw new HybsSystemException( errMsg );
+// }
addEventColumn( column );
rtn = column.getEventColumnTag( rtn, val, writable );
}
* この属性がセットされた場合、親カラムが変更都度子カラム(自身のカラム)が
* 再表示されます。
* 標準で再表示時に受け継がれる属性は以下の通りです。
- * (1)editor・renderer
+ * (1)editor・renderer
* (2)writable
* (3)addNoValue
- * (4)class(must・mustAnyや、DBTypeを含みます)
+ * (4)class(must・mustAnyや、DBTypeを含みます)
* (5)style(optionAttributes等でセットしたもの)
* (6)size
* (7)maxlength
* テーブルモデル内の変数や表示のみの値については、ここでは利用することはできません。
* {@USER.XXXX}等の予約語に関しては、5.5.4.0以降では処理されます。
*
- * (注意点3)現時点では、INMENU,INDBMENUについては、入れ替え後のJavaScriptが正常に動作しないため、
- * イベントカラムが正常に動作しません。
+ * <del>(注意点3)現時点では、INMENU,INDBMENUについては、入れ替え後のJavaScriptが正常に動作しないため、
+ * イベントカラムが正常に動作しません。</del>
*
* (注意点4) 6.8.2.4 (2017/11/20) イベントカラムの、変数($1,$2...$9)は、先頭から9つまでしか使えません。
* 10個目以降の変数は無視されますので、必要であれば、9個までの位置に、カラムを記述してください。