OSDN Git Service

Ver8.5.2.0
[opengion/opengionV8.git] / uap / webapps / gf / src / org / opengion / hayabusa / taglib / ColumnTag.java
index ef1e252..237a1b1 100644 (file)
@@ -152,9 +152,9 @@ import java.util.Set;                                                                                       // 6.4.3.4 (2016/03/11)
  *
  *    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を利用すると、親カラムの変更に従って子カラムの内容を変える事が可能です。
@@ -178,9 +178,9 @@ import java.util.Set;                                                                                       // 6.4.3.4 (2016/03/11)
  * @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" );
@@ -189,8 +189,8 @@ public class ColumnTag extends HTMLTagSupport {
        // 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:&lt;td&gt; タグを使用 / false:フィールドのみ / no:ラベルとフィールド */
        private String  tdFlag          = "yes";
@@ -198,7 +198,9 @@ public class ColumnTag extends HTMLTagSupport {
        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 で書き込み
@@ -216,16 +218,20 @@ public class ColumnTag extends HTMLTagSupport {
        /** 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)
@@ -237,23 +243,30 @@ public class ColumnTag extends HTMLTagSupport {
        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)
@@ -528,6 +541,7 @@ public class ColumnTag extends HTMLTagSupport {
         * @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   設定値
@@ -565,22 +579,22 @@ public class ColumnTag extends HTMLTagSupport {
 
                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) メソッド名変更
@@ -684,12 +698,12 @@ public class ColumnTag extends HTMLTagSupport {
                // 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 );
                }
@@ -1156,10 +1170,10 @@ public class ColumnTag extends HTMLTagSupport {
         * この属性がセットされた場合、親カラムが変更都度子カラム(自身のカラム)が
         * 再表示されます。
         * 標準で再表示時に受け継がれる属性は以下の通りです。
-        * (1)editorrenderer
+        * (1)editorrenderer
         * (2)writable
         * (3)addNoValue
-        * (4)class(mustmustAnyや、DBTypeを含みます)
+        * (4)class(mustmustAnyや、DBTypeを含みます)
         * (5)style(optionAttributes等でセットしたもの)
         * (6)size
         * (7)maxlength
@@ -1200,8 +1214,8 @@ public class ColumnTag extends HTMLTagSupport {
         *          テーブルモデル内の変数や表示のみの値については、ここでは利用することはできません。
         *          {&#064;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個までの位置に、カラムを記述してください。