001 /*
002 * Copyright (c) 2009 The openGion Project.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013 * either express or implied. See the License for the specific language
014 * governing permissions and limitations under the License.
015 */
016 package org.opengion.hayabusa.taglib;
017
018 import static org.opengion.fukurou.util.StringUtil.nval;
019
020 import java.io.IOException;
021 import java.io.ObjectInputStream;
022 import java.io.ObjectOutputStream;
023 import java.util.ArrayList;
024 import java.util.List;
025 import java.util.Locale;
026 import java.util.Map;
027
028 import org.opengion.fukurou.util.StringUtil;
029 import org.opengion.fukurou.util.XHTMLTag;
030 import org.opengion.hayabusa.common.HybsSystem;
031 import org.opengion.hayabusa.common.HybsSystemException;
032 import org.opengion.hayabusa.db.DBColumn;
033 import org.opengion.hayabusa.db.DBColumnConfig;
034 import org.opengion.hayabusa.db.DBEditConfig;
035 import org.opengion.hayabusa.db.DBLastSql;
036 import org.opengion.hayabusa.db.DBTableModel;
037 import org.opengion.hayabusa.db.DBTableModelSorter;
038 import org.opengion.hayabusa.html.FormatterType;
039 import org.opengion.hayabusa.html.TableFormatter;
040 import org.opengion.hayabusa.html.ViewCrossTableParam;
041 import org.opengion.hayabusa.html.ViewForm;
042 import org.opengion.hayabusa.html.ViewFormFactory;
043 import org.opengion.hayabusa.html.ViewMarker;
044 import org.opengion.hayabusa.resource.RoleMode;
045 import org.opengion.hayabusa.resource.UserInfo;
046 import org.opengion.hayabusa.resource.GUIInfo;
047
048 /**
049 * ãƒ??タベã?スの検索結果を表示するタグですã?
050 *
051 * 検索結果は、DBTableModel にセãƒ?ƒˆされますã?
052 * こã?タグに、データ(DBTableModel)とã€?
053 * コントローラ(ViewForm)を与えてã€?外部からコントロールすることで、テキストフィールドやãƒ??ブルの形で表示したりã?
054 * 入力可/不可、表示可/不可の設定を行うことができますã?
055 *
056 * @og.formSample
057 * ●形式ï¼?lt;og:view />
058 * <og:view
059 * viewFormType = "HTMLTable"
060 * command = "{@command}"
061 * startNo = "0"
062 * pageSize = "20"
063 * language = "ja" />
064 *
065 * viewFormType : ViewFormオブジェクトを作æ?する時ã?キー(オプション) ViewFormFactory参ç?
066 * command : 処ç�?‚³マンãƒ? PREV,NEXT,FIRST,LAST,VIEW )(オプション)
067 * startNo : ãƒ??タの書き始めの初期値を指å®?オプション)
068 * pageSize : ãƒ??タのペã?ジ数(画面表示件数)を指å®?オプション)
069 * language : ロケール(オプション)
070 *
071 * ●body?šあã‚?EVAL_BODY_BUFFERED:BODYを評価しã?{@XXXX} を解析しまã�?
072 *
073 * ●Tag定義??
074 * <og:view
075 * viewFormType 【TAG】ViewForm オブジェクトを作æ?するクラス({@og.doc03Link viewFormType ViewForm_**** クラス})を指定しまã�?
076 * command 【TAG】コマンãƒ?PREV,NEXT,FIRST,LAST,NEW,RENEW,VIEW,REVIEW,RESET)をセãƒ?ƒˆしまã�?
077 * scope 【TAG】キャãƒ?‚·ュする場合ã?スコープ[request/page/session/applicaton]を指定しまã�?初期値:session)
078 * startNo 【TAG】表示ãƒ??タを作æ?する場合ã?表示の開始行番号をセãƒ?ƒˆしまã�?
079 * pageSize 【TAG】表示ãƒ??タを作æ?する場合ã??‘ã?ージの行数をセãƒ?ƒˆしまã�?
080 * pagePlus 【TAG】1ã?ージの行数の増加åˆ?‚’セãƒ?ƒˆしまã�?初期値:0)
081 * writable 【TAG】行が書き込み可能かどã�?�‹[true/false]を設定しまã�?(初期値:DBTableModel#DEFAULT_WRITABLE[=true])
082 * checked 【TAG】行ã?チェãƒ?‚¯ボックスの初期値を設定するかどã�?�‹[true/false]を指定しまã�?初期値:null)
083 * rowspan 【TAG】表示ãƒ??タを作æ?する場合ã?フォーマットã?行数をセãƒ?ƒˆしまã�?初期値:2)
084 * skip 【TAG】NEXT等でã€?�¸択行以外をスキãƒ??するのかどã�?�‹[true/false]を指定しまã�?(初期値:ViewForm#DEFAULT_SKIP[=false])
085 * columnWritable 【TAG】書き込み可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
086 * noWritable 【TAG】書き込み不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
087 * columnDisplay 【TAG】表示可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
088 * clmSeqDisplay 【TAG】表示可能カラãƒ?��をã?カラãƒ??に、カンマ区åˆ?‚Šで与えまã�?
089 * noDisplay 【TAG】表示不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
090 * columnGroup 【TAG】同ä¸?¡¨示ãƒ??タをまとめる(表示しなã�?カラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
091 * noGroup 【TAG】同ä¸?¡¨示ãƒ??タをまとめなã�?‚«ラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
092 * groupClass 【TAG】同ä¸?¡¨示ãƒ??タをまとめる場合ã?、表示方法をæŒ?®šしまã�?
093 * tableSorterKeys 【TAG】カラãƒ?��リンクソートを表示するカラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
094 * tableId 【TAGã€?通常使ã�?�¾せん)sessionからæ‰?¾—すã‚?DBTableModelオブジェクトã? ID
095 * viewFormId 【TAGã€?通常使ã�?�¾せん)sessionから取得すã‚?ViewForm オブジェクトã? ID
096 * viewLinkId 【TAGã€?通常つかいません)requestから取得すã‚?ViewLink に対応すã‚?Attributes オブジェクトã? ID
097 * viewMarkerId 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?ViewMarker に対応すã‚?Attributes オブジェクトã? ID
098 * editMarkerId 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?EditMarker に対応すã‚?Attributes オブジェクトã? ID
099 * selectedType 【TAG】表示時ã?選択用オブジェクトã?タイプ[checkbox/radio/hidden]を指定しまã�?初期値:checkbox)
100 * numberType 【TAG】表示時ã?行番号の表示方法[sequence/none/delete/skip=カラãƒ?��/view=カラãƒ?��]を指定しまã�?初期値:sequence)
101 * optionTypeAttributes 【TAG】テーブル等ã?チェãƒ?‚¯ボックスに属æ?を付加しまã�?
102 * noMessage 【TAG】検索結果メãƒ?‚»ージを表示しなã�?�‹どã�?�‹[true/false]を設定しまã�?初期値:false[表示する])
103 * backLinkCount 【TAG】ã?ージの先é?へのリンクの間隔をセãƒ?ƒˆしまã�?(初期値:VIEW_BACK_LINK_COUNT[=0])
104 * headerSkipCount 【TAG】ã?ãƒ?ƒ€ーをå?力する間隔をセãƒ?ƒˆしまã�?初期値:シスãƒ?ƒ パラメータ の VIEW_HEADER_SKIP_COUNT)
105 * useCheckControl 【TAG】チェãƒ?‚¯ボックスの全チェãƒ?‚¯を選択するJavaScript の機è?を使用するかどã�?�‹を指定しまã�?(初期値:VIEW_USE_CHECK_CONTROL[=true])
106 * useTableSorter 【TAG】ã?ãƒ?ƒ€ーにソート用リンクを作æ?するかどã�?�‹[true/false]を指定しまã�?(初期値:VIEW_USE_TABLE_SORTER[=true])
107 * useParam 【TAG】パラメーターファイルの使用をするかどã�?�‹[true/false]を指定しまã�?初期値:false)
108 * useConsistency 【TAG】Consistency キー による整合æ?チェãƒ?‚¯を行うかどã�?�‹[true/false]を指定しまã�?初期値:true)
109 * bgColorCycle 【TAG】テーブルのバックグラウンドカラーの入れ替えã?サイクルをセãƒ?ƒˆしまã�?初期値はã€?:ゼブラ)
110 * bgColorClsClm 【TAG】テーブルのバックグラウンドカラーのクラスにæŒ?®šするカラãƒ?��を指定しまã�?
111 * useScrollBar 【TAG】スクロールバã?用のDIV要ç´?‚’出力するかどã�?�‹[true/false]を指定しまã�?(初期値:VIEW_USE_SCROLLBAR[=true])
112 * loadMarker 【TAG】viewLink ã‚?viewMarker のæƒ??取り込みを制御する(初期値は、NEW,RENEW,REVIEW,RESET)
113 * useSelectedRow 【TAG】SEL_ROW機è?[true:有効/false:無効]を指定しまã�?(初期値:VIEW_USE_SELECTED_ROW[=true])
114 * useSelRowColor 【TAG】SEL_ROW使用時ã?選択行色変更[true:有効/false:無効]を指定しまã�?(初期値:VIEW_USE_SELROW_COLOR[=true])
115 * useHilightRow 【TAG】HILIGHT_ROW機è?[true:有効/false:無効]を指定しまã�?(初期値:VIEW_USE_HILIGHT_ROW[=true])
116 * useAfterHtmlTag 【TAGã€?処ç�?™‚間やペã?ジサイズなどのæƒ??出力[true:有効/false:無効]を指定しまã�?初期値:true)
117 * writableControl 【TAG】設定å?に "_" が含まれてã�?‚‹場合にレンãƒ?ƒ©ーを使用するカラãƒ?‚’CSV形式でæŒ?®šしまã�?
118 * popupReturnKeys 【TAG】ogPopup で検索結果の値を返すキーをã?CSV形式でæŒ?®šしまã�?
119 * clazz 【TAG】table要ç´?�«対して class 属æ?を設定しまã�?初期値:viewTable)
120 * language 【TAG】タグå†?ƒ¨で使用するè¨?ªžコード[ja/en/zh/…]を指定しまã�?
121 * height 【TAG】ビューの高さを指定しまã�?
122 * width 【TAG】ビューのå¹?‚’æŒ?®šしまã�?
123 * fileDwnClms 【TAG】ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?を指定しまã�?
124 * skipNoEdit 【TAG】編é›?¡Œã?みを表示するかをæŒ?®šしまã�?
125 * noTransition 【TAGã€?通常は使ã�?�¾せん)画面遷移を行わなã�?½¢式ã?登録方法を使用するかをæŒ?®šしまã�?
126 * useHilightCheckOnly【TAG】選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするかをæŒ?®šしまã�?(初期値:VIEW_USE_HILIGHT_CHECK_ONLY[=false])
127 * columnBulkSet 【TAG】ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?��をã?カンマ区åˆ?‚Šで与えまã�?
128 * caseKey 【TAG】このタグ自体を利用するかどã�?�‹の条件キーを指定しまã�?初期値:null)
129 * caseVal 【TAG】このタグ自体を利用するかどã�?�‹の条件値を指定しまã�?初期値:null)
130 * caseNN 【TAG】指定ã?値がã?null/ゼロæ–?—å? でなã�??å�?Not Null=NN)は、このタグは使用されまã�?初期値:true)
131 * caseNull 【TAG】指定ã?値がã?null/ゼロæ–?—å? の場合ã?、このタグは使用されまã�?初期値:true)
132 * mainView 【TAGã€?通常は使ã�?�¾せん)セãƒ?‚·ョンにæƒ??を登録するかどã�?�‹[true/false]æŒ?®šしますã?(初期値:true)
133 * debug 【TAG】デバッグæƒ??をå?力するかどã�?�‹[true/false]を指定しまã�?初期値:false)
134 * > ... Body ...
135 * </og:view>
136 *
137 * ●使用ä¾?
138 * <og:view viewFormId="HTMLTable" command="NEW" startNo="0" pageSize="5" / >
139 *
140 * @og.group 画面表示
141 *
142 * @version 4.0
143 * @author Kazuhiko Hasegawa
144 * @since JDK5.0,
145 */
146 public class ViewFormTag extends CommonTagSupport {
147 //* こã?プログラãƒ??VERSIONæ–?—å?を設定しますã? {@value} */
148 private static final String VERSION = "5.7.7.3 (2014/06/27)" ;
149
150 private static final long serialVersionUID = 577320140627L ;
151
152 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? プレビュー {@value} */
153 public static final String CMD_PREV = "PREV" ;
154 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? ネクスãƒ?{@value} */
155 public static final String CMD_NEXT = "NEXT" ;
156 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? ファースãƒ?{@value} */
157 public static final String CMD_FIRST = "FIRST";
158 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? ラスãƒ?{@value} */
159 public static final String CMD_LAST = "LAST" ;
160 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 新è¦?{@value} */
161 public static final String CMD_NEW = "NEW" ;
162 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 再検索 {@value} */
163 public static final String CMD_RENEW = "RENEW" ;
164 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 表示 {@value} */
165 public static final String CMD_VIEW = "VIEW" ;
166 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? 再表示 {@value} */
167 public static final String CMD_REVIEW = "REVIEW" ;
168 /** command 引数に渡す事ã?出来ã‚?コマンãƒ? リセãƒ?ƒˆ {@value} */
169 public static final String CMD_RESET = "RESET" ;
170 /** command 引数に渡す事ã?出来ã‚?コマンãƒ?リスãƒ? */
171 private static final String[] COMMAND_LIST = new String[] {
172 CMD_PREV , CMD_NEXT , CMD_FIRST , CMD_LAST , CMD_NEW , CMD_RENEW , CMD_VIEW , CMD_REVIEW , CMD_RESET };
173
174 // 3.8.0.8 (2005/10/03)
175 /** コマンドリストに存在しなã�??合ã?値 従来の CMD_VIEW と区別させるためã? */
176 private static final String CMD_XXX = "XXX" ;
177
178 private static final String START_NO_KEY = "startNo";
179 private static final String PAGE_SIZE_KEY = "pageSize";
180 private static final String PAGE_PLUS_KEY = "pagePlus";
181
182 // 3.5.6.3 (2004/07/12) スクロールバã?用のDIV 要ç´?±žæ?定義
183
184 private String tableId = HybsSystem.TBL_MDL_KEY;
185 private String viewFormId = HybsSystem.VIEWFORM_KEY;
186 private String viewFormType = null;
187 private String viewLinkId = HybsSystem.VIEWLINK_KEY;
188 private String viewMarkerId = HybsSystem.VIEW_MARK_KEY;
189 private String editMarkerId = HybsSystem.EDIT_MARK_KEY; // 3.8.6.1 (2006/10/20)
190 private String command = null;
191 private int startNo = -1; // HTML画面上ã?表示開始位置(初期値)
192 private int tempStartNo = -1; // 再検索時ã?表示開始位置
193 private int pageSize = -1; // HTML画面上に表示する件数
194 private int pagePlus = -1; // 3.5.6.4 (2004/07/16)
195 private transient DBTableModel table = null;
196 private transient ViewForm form = null;
197 private String columnWritable = null;
198 private String noWritable = null;
199 private String columnDisplay = null;
200 private String noDisplay = null;
201 private String clmSeqDisplay = null; // 5.1.6.0 (2010/05/01) ViewForm_HTMLSeqClmTable 対å¿?
202 private String columnGroup = null; // 3.8.5.0 (2006/03/20)
203 private String noGroup = null; // 5.1.8.0 (2010/07/01)
204 private String groupClass = null; // 5.1.8.0 (2010/07/01)
205 private boolean noMessage = false;
206 private String writable = null;
207 private String checked = null;
208 private boolean skip = ViewForm.DEFAULT_SKIP;
209 private String rowspan = "2";
210 private String selectedType = "checkbox";
211 private String numberType = "sequence"; // 3.5.1.0 (2003/10/03) 追åŠ?
212 private String optTypeAttri = null;
213 private int backLinkCount = HybsSystem.sysInt( "VIEW_BACK_LINK_COUNT" );
214 private int headerSkipCount = HybsSystem.sysInt( "VIEW_HEADER_SKIP_COUNT" ); // 0:通常ヘッãƒ??n:n回ごとに現れる
215 private List<TableFormatter> values = null;
216 private String bodyString = null;
217 private int useCheckControl = -1 ;
218 private String useTableSorter = null ; // 3.5.4.7 (2004/02/06)
219
220 private long dyStart = 0; // 3.5.4.7 (2004/02/06) 実行時間測定用のDIV要ç´?‚’出力しますã?
221 private boolean useParam = false; // 3.5.4.8 (2004/02/23) パラメータTagの使用を宣è¨?�—ますã?
222 private Map<String,String> viewParam = null; // 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを受け取りますã?
223 private List<String[]> viewArrayList = null; // 5.5.9.0 (2012/12/03) viewObjectから変更
224
225 private transient DBLastSql lastSql ; // 5.8.6.0 (2015/04/03) 6.0.2.4ä¸?ƒ¨移æ¤?
226 private transient DBEditConfig editConf ; // 5.8.6.0 (2015/04/03) 6.0.2.4ä¸?ƒ¨移æ¤?
227 private int[] editMarkerClmNos ; // 5.8.6.0 (2015/04/03) 6.0.2.4ä¸?ƒ¨移æ¤?
228 private String editColumnDisplay = null; // 5.8.6.0 (2015/04/03)
229
230 // 3.5.5.8 (2004/05/20) 整合æ?チェãƒ?‚¯を行う為の、Consistency キー をå?力するかどã�?�‹を指定しますã?
231 private boolean useConsistency = HybsSystem.sysBool( "USE_CONSISTENCY" ) ;
232
233 // 3.5.6.2 (2004/07/05) ゼブラ模様ã?æŒ?®šを、ViewForm としてサポã?ãƒ?
234 // 0(ゼブラなã�?ã€?1(ワーニング)ã€?2以ä¸?エラー)ã€?(ゼブラ)ã€?以ä¸?行数まとã‚?
235 private int bgColorCycle = 1 ;
236
237 // 5.1.8.0 (2010/07/01) 行に対して、動çš?�«クラス属æ?を付与するカラãƒ?��を指定しますã?
238 private String bgColorClsClm = null;
239
240 private String useScrollBar = null ;
241
242 // 3.6.0.0 (2004/09/17) カラãƒ?‚½ートリンクをå?すカラãƒ?��を指定ã?
243 private String sortKeys = null;
244
245 // 3.6.0.4 (2004/10/14) viewLink ã‚?viewMarker のæƒ??取り込みを制御
246 // 前後ã? , が重要ですï¼?
247 private String loadMarker = ",NEW,RENEW,REVIEW,RESET,";
248
249 // 3.7.1.1 (2005/05/23) SEL_ROW機è?の有効/無効を指定しますã?
250 private String useSelectedRow = null ;
251
252 // 3.7.1.1 (2005/05/31) SEL_ROW機è?使用時に、BG_COLOR_ROWSEL の使用 æœ?無を指定しますã?
253 private String useSelRowColor = null;
254
255 // 3.7.1.1 (2005/05/23) 処ç�?™‚間やペã?ジサイズなどのæƒ??出力ã?有効/無効を指定しますã?
256 private boolean useAfterHtmlTag = true ;
257
258 // 3.8.0.9 (2005/10/17) 設定å?に "_" が含まれてã�?‚‹場合に、レンãƒ?ƒ©ーを使用しますã?
259 private String writableControl = null;
260
261 // 3.8.6.0 (2006/09/29) HILIGHT_ROW機è?の有効/無効を指定しますã?
262 private String useHilightRow = null;
263
264 // 3.8.6.1 (2006/10/20) ogPopup で検索結果の値を返すキーをã?CSV形式でæŒ?®šしますã?
265 private String popupReturnKeys = null ;
266
267 // 4.0.0 (2007/04/16) tableタグをå?力するときに付与しますã?
268 private String clazz = "viewTable";
269
270 // 4.2.0.0 (2008/03/18) ビューのå¹?�¨高さを指定できるようにしますã?
271 private String height = null;
272 private String width = null;
273
274 // 4.3.0.0 (2008/07/04) fileUD ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?
275 private String fileDwnClms = null ;
276
277 // 4.3.1.0 (2008/09/08)
278 private boolean skipNoEdit = false;
279
280 // 4.3.3.0 (2008/10/01)
281 private boolean noTransition = false;
282
283 // 4.3.7.0 (2009/06/01) HILIGHT_ROW機è?有効時に制御を行チェãƒ?‚¯ボックスのみにしますã?
284 private String useHilightCheckOnly = null;
285
286 // 5.2.1.0 (2010/10/01) ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?‚’æŒ?®šしますã?
287 private String columnBulkSet = null;
288 private boolean useDefBulkset = HybsSystem.sysBool( "VIEW_USE_DEFAULT_BULKSET" ) ;
289
290 // 5.7.6.1 (2014/05/09) startNoのセãƒ?‚·ョン保存をæŒ?®šしますã?
291 private boolean isMainView = true;
292
293 // 5.7.7.3 (2014/06/27) MSG0085 Edit機è?でæŒ?®šしてã�?‚‹カラãƒ?{0})が検索結果に存在しません。削除後ã?再作æ?して下さã�??
294 private String editWarnwMsg = "MSG0085";
295
296 /**
297 * Taglibの開始タグが見つかったときに処ç�?�™ã‚?doStartTag() ã‚?オーバã?ライドしますã?
298 *
299 * @og.rev 3.5.4.7 (2004/02/06) DBTableModelのソート機è? useTableSorter を追åŠ?
300 * @og.rev 3.5.4.7 (2004/02/06) 実行時間測定用にã€?–‹始時刻を取得しますã?
301 * @og.rev 3.5.4.8 (2004/02/23) useParam をã?BODY部の処ç�?ˆ¤定にåŠ?�ˆますã?
302 * @og.rev 3.5.6.0 (2004/06/18) DBRowHeader のパッケージプライベã?ト化に伴なã�?¤‰更
303 * @og.rev 3.5.6.1 (2004/06/25) viewFormType変更時ã?viewForm 再セãƒ?ƒˆ
304 * @og.rev 3.5.6.2 (2004/07/05) command="VIEW" などで、ありえなã�?�¨してã�?�Ÿ処ç�?‚’追åŠ?
305 * @og.rev 3.5.6.3 (2004/07/12) markerSet で table の整合æ?もチェãƒ?‚¯するã€?
306 * @og.rev 3.5.6.4 (2004/07/16) DBTableModelのソート時には、viewをå?期設定するã?
307 * @og.rev 3.6.0.0 (2004/09/17) scope ã�?request の場å�?検索)ヘッãƒ??ソートリンクは使えなã�??
308 * @og.rev 3.6.0.0 (2004/09/22) pageSize の form への設定見直しã?
309 * @og.rev 3.6.0.0 (2004/09/25) viewLink , viewMarker のリクエストメモリ削除の中止
310 * @og.rev 3.6.0.4 (2004/10/14) viewLink ã‚?viewMarker のæƒ??取り込みを制御する loadMarker を追åŠ?
311 * @og.rev 3.6.0.5 (2004/10/18) viewLink , viewMarker のリクエストメモリ削除を復活しますã?
312 * @og.rev 3.8.0.8 (2005/10/03) ヘッãƒ??ソート時に、startNo ã‚?0 に戻しますã?
313 * @og.rev 3.8.8.5 (2007/03/09) markerSet する条件を強化するã?
314 * @og.rev 3.8.8.9 (2007/05/29) ソート時のviewLink,viewMarker の取り込み
315 * @og.rev 3.8.9.3 (2007/08/28) soryKeysのみを指定したå?合に、ソート用のãƒ??ブルモãƒ?ƒ«が作æ?されなã�?ƒ�グを修正ã€?
316 * @og.rev 4.1.0.0(2008/01/11)シスãƒ?ƒ パラメータ(useCheckControl)の読取ã? doEndTag 関数から doStartTag 関数に移動しますã?
317 * @og.rev 5.1.6.0 (2010/05/01) ViewForm_HTMLSeqClmTable クラス によるカラãƒ?¡¨示é ??ç�?‚’行いますã?
318 * @og.rev 5.1.6.0 (2010/05/01) 左右åˆ?‰²スクロール画面でヘッãƒ??スクロールã�?回å?ç�?�•れるバグを修正
319 * @og.rev 5.1.6.0 (2010/05/01) ユーザー毎ã?画面é ?›®並び替え対å¿?
320 * @og.rev 5.1.7.0 (2010/06/01) ViewFormに画面IDをセãƒ?ƒˆしã?セãƒ?ƒˆされた画面IDと同じ場合ã?みViewFormを復å…?�™るã?
321 * @og.rev 5.1.7.0 (2010/06/01) DBColumnの{@XXXX}変数対å¿?
322 * @og.rev 5.1.7.0 (2010/06/01) ヘッãƒ??ソート後に画面遷移しã?戻ってきた際にstartNoがクリアされるバグを修正
323 * @og.rev 5.1.8.0 (2010/07/01) 全チェãƒ?‚¯を押した状態で画面遷移した場合にチェãƒ?‚¯状態を保持するã€?
324 * @og.rev 5.1.8.0 (2010/07/01) 同時設定不可(columnWritable,noWritable,columnDisplay,noDisplay,columnGroup,noGroup) チェãƒ?‚¯
325 * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
326 * @og.rev 5.3.0.0 (2010/12/01) 左右åˆ?‰²スクロール(SplitViewTag)対å¿?
327 * @og.rev 5.3.6.0 (2011/06/01) Edit機è?見直ã�?
328 * @og.rev 5.4.1.0 (2011/11/01) 5.1.8.0 (2010/07/01)の全チェãƒ?‚¯保持機è?をå»?¢
329 * @og.rev 5.8.6.0 (2015/04/03) OrgClmNames対å¿?
330 * @og.rev 5.8.8.0 (2015/06/05) エラーメãƒ?‚»ージリソースåŒ?
331 *
332 * @return 後続å?ç�??æŒ?¤º
333 */
334 @Override
335 public int doStartTag() {
336 // 5.3.0.0 (2010/12/01) 左右åˆ?‰²スクロール(SplitViewTag)対å¿?
337 splitViewParamSet();
338
339 // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
340 if( !useTag() ) { return SKIP_BODY ; } // Body を評価しなã�?
341
342 // 5.1.8.0 (2010/07/01) 同時設定不可(columnWritable,noWritable,columnDisplay,noDisplay,columnGroup,noGroup) チェãƒ?‚¯
343 if( columnWritable != null && noWritable != null ) {
344 String errMsg = "columnWritable と noWritable は同時にæŒ?®šできませんã€?
345 + "columnWritable = [" + columnWritable
346 + "] , noWritable = [" + noWritable
347 + "]";
348 throw new HybsSystemException( errMsg );
349 }
350
351 if( columnDisplay != null && noDisplay != null ) {
352 String errMsg = "columnDisplay と noDisplay は同時にæŒ?®šできませんã€?
353 + "columnDisplay = [" + columnDisplay
354 + "] , noDisplay = [" + noDisplay
355 + "]";
356 throw new HybsSystemException( errMsg );
357 }
358
359 if( columnGroup != null && noGroup != null ) {
360 String errMsg = "columnGroup と noGroup は同時にæŒ?®šできませんã€?
361 + "columnGroup = [" + columnGroup
362 + "] , noGroup = [" + noGroup
363 + "]";
364 throw new HybsSystemException( errMsg );
365 }
366
367 dyStart = System.currentTimeMillis();
368 table = (DBTableModel)getObject( tableId );
369 if( table == null ) { return SKIP_BODY ; }
370
371 // 5.1.6.0 (2010/05/01)ViewForm_HTMLSeqClmTable クラス によるカラãƒ?¡¨示é ??ç�?‚’行いますã?
372 // clmSeqDisplay 属æ?が設定されてã�?‚‹と、クラスæŒ?®šを変更しã?columnDisplay に、clmSeqDisplay ã‚?
373 // 設定し、noDisplay をã?削除(null をセãƒ?ƒˆ)しますã?
374 if( clmSeqDisplay != null ) {
375 viewFormType = "HTMLSeqClmTable" ;
376 columnDisplay = clmSeqDisplay;
377 noDisplay = null;
378 }
379
380 // 5.8.6.0 (2015/04/03)
381 final String guikey = getGUIInfoAttri( "KEY" );
382 lastSql = (DBLastSql)getSessionAttribute( HybsSystem.DB_LAST_SQL_KEY );
383 // ここではtableId,scope,é ?›®名などで厳å¯?�«チェãƒ?‚¯を行いますã?
384 if( lastSql != null && lastSql.isGuiMatch( guikey ) && lastSql.isTableMatch( tableId, getScope() ) ) {
385 final String editName = getRequestValue( "editName" );
386 if( editName != null ) {
387 editConf = getUser().getEditConfig( guikey, editName );
388 if( editConf != null ){
389 makeEditTable( editConf );
390 }
391 }
392 }
393
394 // // 5.1.6.0 (2010/05/01) seqClmTableを使用するかどã�?�‹をチェãƒ?‚¯しまã�?
395 // // 5.3.6.0 (2011/06/01) Edit機è?見直しによりメソãƒ?ƒ‰名変更
396 // String editName = getRequestValue( "editName" );
397 // if( editName != null ) {
398 // String guikey = getGUIInfoAttri( "KEY" );
399 // DBEditConfig config = getUser().getEditConfig( guikey, editName );
400 // if( config != null ) {
401 // makeEditTable( config );
402 // }
403 // }
404
405 // 5.1.7.0 (2010/06/01) DBColumnの{@XXXX}変数対å¿?
406 int clmSize = table.getColumnCount();
407 for( int clmNo=0; clmNo<clmSize; clmNo++ ) {
408 DBColumn dbColumn = table.getDBColumn( clmNo );
409 if ( dbColumn.isNeedsParamParse() ){
410 DBColumnConfig config = dbColumn.getConfig();
411 config.setRendererParam( getRequestParameter( config.getRendererParam() ) );
412 config.setEditorParam( getRequestParameter( config.getEditorParam() ) );
413 DBColumn newColumn = new DBColumn( config );
414 table.setDBColumn( clmNo, newColumn );
415 }
416 }
417
418 // 3.8.8.9 (2007/05/29) ソート時の viewLink,viewMarker の取り込み
419 boolean useSorter = false;
420
421 // 3.5.4.7 (2004/02/06) DBTableModelのソート機è? 追åŠ?
422 // 登録後に同じソートé?で再表示させるために、リクエストキャãƒ?‚·ュに登録しますã?
423 // 3.8.9.3 (2007/08/28) soryKeysのみを指定したå?合に、ソート用のãƒ??ブルモãƒ?ƒ«が作æ?されなã�?ƒ�グを修正ã€?
424 // 5.1.6.0 (2010/05/01) 左右åˆ?‰²スクロール画面でヘッãƒ??スクロールã�?回å?ç�?�•れるバグを修正
425 if( "session".equals( getScope() )
426 && ( nval( useTableSorter,sysBool( "VIEW_USE_TABLE_SORTER" ) ) || sortKeys != null )
427 && !( table.getConsistencyKey().equals( getRequestAttribute( HybsSystem.VIEW_SORT_KEY ) ) ) ) {
428
429 String clm = getRequestValue( HybsSystem.SORT_COLUMNS );
430 // 若干トリãƒ?‚ー。å?めてクリãƒ?‚¯されるまで、DBTableModelSorter は作æ?しなã�??
431 if( clm != null && clm.length() > 0 ) {
432 useSorter = true; // 3.8.8.9 (2007/05/29)
433 startQueryTransaction( tableId ); // 3.6.0.8 (2004/11/19)
434 int clmNo = table.getColumnNo( clm );
435 boolean sortAscending = nval( getRequestValue( HybsSystem.SORT_ASCENDING ),true );
436 if( table instanceof DBTableModelSorter ) {
437 if( !CMD_RESET.equals( command ) ) {
438 ((DBTableModelSorter)table).sortByColumn( clmNo );
439 }
440 sortAscending = ((DBTableModelSorter)table).isAscending() ; // ソート方å�?
441 }
442 else {
443 DBTableModelSorter temp = new DBTableModelSorter();
444 temp.setModel( table );
445 temp.sortByColumn( clmNo,sortAscending );
446 table = temp;
447 }
448 // 3.6.0.8 (2004/11/19) トランザクションチェãƒ?‚¯を行いますã?
449 if( ! commitTableObject( tableId, table ) ) {
450 // jspPrint( "ViewFormTag Query処ç�?�Œ割り込まれましたã€?BTableModel は登録しませんã€? );
451 jspPrint( "ViewFormTag " + getResource().getLabel( "ERR0041" ) ); // 5.8.8.0 (2015/06/05)
452 return SKIP_PAGE;
453 }
454 if( CMD_VIEW.equals( command ) ) {
455 setRequestCacheData( HybsSystem.SORT_COLUMNS,clm );
456 setRequestCacheData( HybsSystem.SORT_ASCENDING,String.valueOf( sortAscending ) );
457 }
458
459 // 5.1.6.0 (2010/05/01)
460 setRequestAttribute( HybsSystem.VIEW_SORT_KEY, table.getConsistencyKey() );
461
462 // 3.8.0.8 (2005/10/03) ヘッãƒ??ソート時に、startNo ã‚?0 に戻しますã?
463 // 5.1.7.0 (2010/06/01) ヘッãƒ??ソート後に画面遷移しã?戻ってきた際にstartNoがクリアされるバグを修正
464 if( !CMD_RENEW.equals( command ) ) {
465 startNo = 0;
466 tempStartNo = startNo;
467 }
468 }
469 }
470
471 if( CMD_NEW.equals( command ) || CMD_RENEW.equals( command ) || CMD_REVIEW.equals( command ) || CMD_RESET.equals( command ) ) {
472 form = ViewFormFactory.newInstance( viewFormType ); // 3.5.6.1 (2004/06/25)
473 form.init( table );
474 table.setDefaultRowWritable( DBTableModel.DEFAULT_WRITABLE );
475 table.setDefaultRowChecked( DBTableModel.DEFAULT_CHECKED );
476 }
477 else {
478 // 3.5.6.1 (2004/06/25) viewFormType変更時ã?viewForm 再セãƒ?ƒˆ
479 ViewForm oldForm = (ViewForm)getObject( viewFormId );
480 // 5.1.7.0 (2010/06/01) ViewFormに画面IDをセãƒ?ƒˆしã?セãƒ?ƒˆされた画面IDと同じ場合ã?みViewFormを復å…?�™るã?
481 if( oldForm != null && getGUIInfoAttri( "KEY" ).equals( oldForm.getGamenId() ) ) {
482 if( oldForm.getViewFormType().equals( viewFormType ) ) {
483 form = oldForm ;
484 }
485 else {
486 form = ViewFormFactory.newInstance( viewFormType );
487 }
488 form.init( table );
489 // 3.5.6.3 (2004/07/12) markerSet で table の整合æ?もチェãƒ?‚¯するã€?
490 DBTableModel oldTable = oldForm.getDBTableModel();
491 if( table.getConsistencyKey().equals( oldTable.getConsistencyKey() ) ) {
492 // 3.8.8.5 (2007/03/09) markerSet する条件を強化するã?
493 // 3.8.8.9 (2007/05/29) ソート時の viewLink,viewMarker の取り込み
494 if( "true".equalsIgnoreCase( loadMarker ) ||
495 loadMarker.indexOf( "," + command + "," ) >= 0 ||
496 useSorter ) {
497 form.markerSet( oldForm );
498 }
499 }
500 }
501 else {
502 // 3.5.6.2 (2004/07/05) command="VIEW" などで、ありえなã�?�¨してã�?�Ÿ処ç�?‚’追åŠ?
503 form = ViewFormFactory.newInstance( viewFormType );
504 form.init( table );
505 }
506 }
507
508 // 5.1.7.0 (2010/06/01) ViewFormに画面IDをセãƒ?ƒˆしã?セãƒ?ƒˆされた画面IDと同じ場合ã?みViewFormを復å…?�™るã?
509 form.setGamenId( getGUIInfoAttri( "KEY" ) );
510
511 // 3.6.0.4 (2004/10/14) ViewMarker 等ã?セãƒ?ƒˆは、loadMarker で制御しますã?
512 if( "true".equalsIgnoreCase( loadMarker ) ||
513 loadMarker.indexOf( "," + command + "," ) >= 0 ) {
514 ViewMarker viewLink = (ViewMarker)getRequestAttribute( viewLinkId );
515 if( viewLink != null ) {
516 form.setViewLink( viewLink );
517 removeRequestAttribute( viewLinkId ); // 3.6.0.5 (2004/10/18) 復活
518 }
519
520 ViewMarker viewMarker = (ViewMarker)getRequestAttribute( viewMarkerId );
521 if( viewMarker != null ) {
522 form.setViewMarker( viewMarker );
523 removeRequestAttribute( viewMarkerId ); // 3.6.0.5 (2004/10/18) 復活
524 }
525
526 // 3.8.6.1 (2006/10/24) editMarker を追åŠ?�™るã?
527 ViewMarker editMarker = (ViewMarker)getRequestAttribute( editMarkerId );
528 if( editMarker != null ) {
529 form.setEditMarker( editMarker );
530 removeRequestAttribute( editMarkerId );
531 editMarkerClmNos = editMarker.getColumnNos(); // 5.8.6.0 (2015/04/03)
532 }
533 }
534 // 3.8.0.5 (2005/08/26) false の場合ã?、無条件に、form のviewLinkとViewMarkerをクリアしますã?
535 if( "false".equalsIgnoreCase( loadMarker ) ) {
536 form.setViewLink( null );
537 form.setViewMarker( null );
538 form.setEditMarker( null ); // 3.8.6.1 (2006/10/24)
539 }
540 // 4.1.0.0(2008/01/11)シスãƒ?ƒ パラメータ(useCheckControl)の読取ã? doEndTag 関数から doStartTag 関数に移動しますã?
541 if( useCheckControl < 0 ) {
542 useCheckControl = intCase( sys( "VIEW_USE_CHECK_CONTROL" ) ) ;
543 }
544 setTableRowWritable( table );
545
546 setDefaultParameter();
547
548 // if( pagePlus != 0 ) { ※ なã�?!= ã�?�£たã?か謎ã?pagePlusがã?イナス時ã???
549 if( pagePlus > 0 ) {
550 form.setPageSize( pageSize + pagePlus );
551 }
552 else {
553 form.setPageSize( pageSize ); // 3.6.0.0 (2004/09/22) 追åŠ?
554 }
555
556 // 3.5.4.8 (2004/02/23)
557 if( form.canUseFormat() || useParam ) { return EVAL_BODY_BUFFERED ; } // JSP API 1.2
558
559 return SKIP_BODY ;
560 }
561
562 /**
563 * Taglibのタグ本体を処ç�?�™ã‚?doAfterBody() ã‚?オーバã?ライドしますã?
564 *
565 * @og.rev 3.1.1.0 (2003/03/28) ボディのå†?®¹を取得するå?ç�?‚’、CommonTagSupport で行vうã€?
566 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?ボディが存在する場合ã?みボディが呼ばれる対応ã?
567 * @og.rev 3.5.4.0 (2003/11/25) 外部からフォーマットがæŒ?®šされなã�??合ã?、å?部のフォーマットを登録するã€?
568 * @og.rev 5.1.7.0 (2010/06/01) フォーマットã?{@XXXX}の値に[が含まれる場合ã?、サイニタイズ("\\]\\"に変換)するã€?
569 *
570 * @return 後続å?ç�??æŒ?¤º(SKIP_BODY)
571 */
572 @Override
573 public int doAfterBody() {
574 bodyString = getSanitizedBodyString();
575 return SKIP_BODY ;
576 }
577
578 /**
579 * Taglibの終äº?‚¿グが見つかったときに処ç�?�™ã‚?doEndTag() ã‚?オーバã?ライドしますã?
580 *
581 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
582 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()で呼ぶã€?
583 * @og.rev 3.5.0.0 (2003/03/28) noClass 属æ?の追åŠ??および、ロジãƒ?‚¯整ç�??
584 * @og.rev 3.5.1.0 (2003/10/03) numberType 属æ?の追åŠ?
585 * @og.rev 3.5.2.0 (2003/10/20) headerSkipCount属æ?を追åŠ?
586 * @og.rev 3.5.2.0 (2003/10/20) form ã�?null の場合ã?条件åˆ?²�を追åŠ?
587 * @og.rev 3.5.3.1 (2003/10/31) Table系のViewで、skip属æ?を使用するã€?
588 * @og.rev 3.5.4.0 (2003/11/25) command="RESET"時に、戻った画面のpageSize がクリアされてしまã�?¯¾応ã?
589 * @og.rev 3.5.4.0 (2003/11/25) フォーマット文字å?をã?TableFormatter オブジェクトを使用するように変更ã€?
590 * @og.rev 3.5.4.1 (2003/12/01) startNo を隠しフィールドに持つ処ç�?‚’å»?¢ã€?キャãƒ?‚·ュを使用)
591 * @og.rev 3.5.4.3 (2004/01/05) useCheckControl属æ?を追åŠ?
592 * @og.rev 3.5.4.7 (2004/02/06) DBTableModelのソート機è? useTableSorter を追åŠ?
593 * @og.rev 3.5.4.7 (2004/02/06) makeStartNoKeyメソãƒ?ƒ‰のå»?¢(setRequestCacheDataを利用)
594 * @og.rev 3.5.4.7 (2004/02/06) 実行時間測定用のDIV要ç´?‚’出力しておきますã?
595 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追åŠ?�—ますã?
596 * @og.rev 3.5.5.5 (2004/04/23) DBTableModel の整合æ?パラメータã‚?hidden で出力しますã?
597 * @og.rev 3.5.5.8 (2004/05/20) makeConsistencyKey メソãƒ?ƒ‰に処ç�?ƒジãƒ?‚¯を移しますã?
598 * @og.rev 3.5.6.2 (2004/07/05) bgColorCycle 変数の追åŠ??
599 * @og.rev 3.5.6.4 (2004/07/16) スクロールバã?用のDIV要ç´??出åŠ?開å§?
600 * @og.rev 3.6.0.0 (2004/09/17) カラãƒ?‚½ートリンクをå?すカラãƒ?��を指定ã?
601 * @og.rev 3.6.0.0 (2004/09/22) pageSize の hidden 出力ã?、å?期設定å?としますã?
602 * @og.rev 3.7.0.3 (2005/03/01) æŒ?®šã?行番号まで画面をスクロールさせる機è?を追åŠ??
603 * @og.rev 3.7.1.1 (2005/05/23) 処ç�?™‚間やペã?ジサイズなどのæƒ??出力ã?有効/無効を指定しますã?
604 * @og.rev 3.8.0.3 (2005/07/15) ヘッãƒ??固定ã?スクロールタイプをセãƒ?ƒˆしますã?
605 * @og.rev 3.8.0.9 (2005/10/17) writableControl 属æ?を追åŠ?�—ますã?
606 * @og.rev 3.8.6.0 (2006/09/29) useHilightRow 属æ?を追åŠ?�—ますã?
607 * @og.rev 3.8.6.1 (2006/10/20) ポップアãƒ??で値を返すカラãƒ?–‡字å?(CSV形å¼?
608 * @og.rev 4.0.0.0 (2007/11/27) ヘッãƒ??カラãƒ??エãƒ?‚£ター、レンãƒ?ƒ©ー適用対å¿?
609 * @og.rev 4.1.2.0 (2008/03/12) columnWritable,noWritable にã€?null" を指定可能とするã€?
610 * @og.rev 4.2.0.0 (2008/03/18) ビューの高さ、å¹??æŒ?®šを可能にしますã?
611 * @og.rev 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
612 * @og.rev 4.3.0.0 (2008/07/04) ロールモードによる設å®?
613 * @og.rev 4.3.0.0 (2008/07/04) fileUD 対応ã?抜き出すカラãƒ?‚’æŒ?®šしますã?
614 * @og.rev 4.3.1.0 (2008/09/08) canUseFormatのエラーハンドリングはå�?‚µブクラスで行う。editOnly属æ?対応ã?
615 * @og.rev 4.3.3.0 (2008/10/01) noTransition 属æ?を追åŠ?�—ますã?
616 * @og.rev 4.3.6.0 (2009/04/01) eventColumn対å¿?
617 * @og.rev 4.3.7.0 (2009/06/01) 行ハイライト機è?でチェãƒ?‚¯ボックスでのみON/OFFができるオプションを追åŠ?
618 * @og.rev 4.3.8.0 (2009/08/01) noTransition値取得メソãƒ?ƒ‰名変更
619 * @og.rev 5.1.3.0 (2010/02/01) noTransitionのコントロールは、requestで行うã€?
620 * @og.rev 5.1.6.0 (2010/05/01) fileDwnClmsが指定されなã�??合ã?、Viewで表示されたカラãƒ?‚’セãƒ?ƒˆ
621 * @og.rev 5.1.7.0 (2010/06/01) 動的プルãƒ?‚¦ン実è£?¦‹直ã�?
622 * @og.rev 5.1.7.0 (2010/06/01) HilightRow用のDivはå¿?�š出ã�?画面遷移なし登録(JavaScript)の正規表現でマッチさせるため))
623 * @og.rev 5.1.8.0 (2010/07/01) form.setNoGroup( noGroup ) , form.setGroupClass( groupClass ) 追åŠ?
624 * @og.rev 5.1.8.0 (2010/07/01) form.setBgColorClsClm( bgColorClsClm ) 追åŠ?
625 * @og.rev 5.1.8.0 (2010/07/01) Divをå¿?�š出すã?は、画面遷移なし登録の場合ã?みとする(CustomData対å¿?
626 * @og.rev 5.2.1.0 (2010/10/01) ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?‚’æŒ?®šしますã?(columnBulkSet)
627 * @og.rev 5.2.2.0 (2010/11/01) useHeaderColumn 属æ?をã?ViewCrossTableParam.USE_HEADER_COLUMN をキーに、取得すã‚?
628 * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
629 * @og.rev 5.5.8.3 (2012/11/17) viewObject追åŠ?
630 * @og.rev 5.5.9.0 (2012/12/03) viewObjectをviewArrayListに変更
631 * @og.rev 5.7.6.1 (2014/05/09) mainView対å¿?
632 * @og.rev 5.8.6.0 (2015/04/03) OrgClmNames対å¿?
633 *
634 * @return 後続å?ç�??æŒ?¤º
635 */
636 @Override
637 public int doEndTag() {
638 debugPrint(); // 4.0.0 (2005/02/28)
639 // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
640 if( !useTag() ) { return EVAL_PAGE ; }
641
642 // noTransition = isNoTransitionRequest() || noTransition; // 4.3.3.0 (2008/10/01) 追åŠ?
643 noTransition = isNoTransitionRequest(); // 5.1.3.0 (2010/02/01)
644 if( form == null ) { return EVAL_PAGE ; } // 3.5.2.0 (2003/10/20)
645 if( form.canUseFormat() ) {
646 if( values == null && bodyString != null && !useParam ) {
647 TableFormatter format = new TableFormatter();
648 format.setFormatType( FormatterType.TYPE_HEAD );
649 format.setFormat( bodyString );
650 format.setRowspan( rowspan );
651 values = new ArrayList<TableFormatter>();
652 values.add( format );
653 form.setFormatterList( values );
654 }
655 else if( values != null ) {
656 form.setFormatterList( values );
657 }
658 }
659
660 if( table != null ) {
661 // 4.2.0.0 (2008/03/18) ビューの高さ、å¹?‚’æŒ?®šするã?null回避はAbstractViewFormで行う
662 form.setHeight( height );
663 form.setWidth( width );
664
665 form.setColumnWritable( columnWritable );
666 form.setNoWritable( noWritable );
667 form.setColumnDisplay( columnDisplay );
668 form.setNoDisplay( noDisplay );
669 form.setColumnGroup( columnGroup ); // 3.8.5.0 (2006/03/20)
670 form.setNoGroup( noGroup ); // 5.1.8.0 (2010/07/01) 追åŠ?
671 form.setGroupClass( groupClass ); // 5.1.8.0 (2010/07/01) 追åŠ?
672 form.setTableSorterKeys( sortKeys ); // 3.6.0.0 (2004/09/17) 追åŠ?
673 form.setNoMessage( noMessage );
674 form.setSelectedType( selectedType );
675 form.setUseCheckControl( useCheckControl ); // 3.5.4.3 (2004/01/05) 追åŠ?
676 form.setNumberType( numberType ); // 3.5.1.0 (2003/10/03) 追åŠ?
677 form.setOptionTypeAttributes( optTypeAttri );
678 form.setBackLinkCount( backLinkCount );
679 form.setHeaderSkipCount( headerSkipCount ); // 3.5.2.0 (2003/10/20) 追åŠ?
680 if( useParam ) {
681 form.setParam( viewParam ); // 3.5.4.8 (2004/02/23)
682 form.setViewArrayList( viewArrayList ); // 5.5.9.0 (2012/12/03)
683 }
684 form.setBgColorCycle( bgColorCycle ); // 3.5.6.2 (2004/07/05) 追åŠ?
685 form.setBgColorClsClm( bgColorClsClm ); // 5.1.8.0 (2010/07/01) 追åŠ?
686 form.setWritableControl( writableControl ); // 3.8.0.9 (2005/10/17) 追åŠ?
687
688 // 5.2.1.0 (2010/10/01) 初期バルクセãƒ?ƒˆã�?true で、かつ、変数が未設定ã?場合ã?、å?カラãƒ?*)選択とするã€?
689 if( useDefBulkset && columnBulkSet == null ) { columnBulkSet = "*"; }
690 // selectedType ã�?radio の場合ã?、カラãƒ??設定を行わなã�??
691 if( "radio".equalsIgnoreCase( selectedType ) ) { columnBulkSet = null; }
692 form.setColumnBulkSet( columnBulkSet ); // 5.2.1.0 (2010/10/01) 追åŠ?
693
694 // 5.8.6.0 (2015/04/03)
695 // editConf ã�?null でなã�?�¨ã�?�†事ã?、lastSql の条件がクリアされてã�?‚‹ã€?
696 if( editConf != null ) {
697 if( editMarkerClmNos != null ) {
698 for( int i=0; i<editMarkerClmNos.length; i++ ) {
699 form.setColumnDisplay( editMarkerClmNos[i] , false ); // 表示しなã�?
700 }
701 }
702 final String orgClms = form.getViewClms(); // form.setColumnDisplay(String) の再セãƒ?ƒˆ前に取り出すã?
703 lastSql.setOrgClmNames( orgClms );
704 if( editColumnDisplay != null){
705 form.setColumnDisplay( editColumnDisplay );
706 form.setNoDisplay( null );
707 }
708 }
709
710
711 // 3.6.0.0 (2004/09/22) pageSize の hidden 出力ã?、å?期設定å?としますã?
712 int oldPageSize = pageSize;
713 pageSize = form.getPageSize();
714 commandExec( command );
715
716 form.setStartNo( startNo );
717 form.setSkip( skip ); // 3.5.3.1 (2003/10/31)
718 form.setSkipNoEdit( skipNoEdit ); // 4.3.1.0 (2008/09/08)
719 boolean useTblSorter = "session".equals( getScope() ) &&
720 nval( useTableSorter,sysBool( "VIEW_USE_TABLE_SORTER" ) );
721 form.setUseTableSorter( useTblSorter ); // 3.5.4.7 (2004/02/06)
722
723 // 3.6.0.0 (2004/09/17)
724 // tableSorter 時ã?リンクに追åŠ?�™るリクエスト変数のキャãƒ?‚·ュMapを追åŠ?�™るã?
725 if( useTblSorter || sortKeys != null ) {
726 // 4.0.0 (2005/01/31)
727 String memKey = HybsSystem.REQ_CACHE_KEY + getGUIInfoAttri( "KEY" );
728 Map<?,?> mem = (Map<?,?>)getSessionAttribute( memKey ); // 4.3.3.6 (2008/11/15) Generics警告対å¿?
729 form.makeTableSorterQuery( mem );
730 }
731
732 // 3.5.6.4 (2004/07/16) スクロールバã?用のDIV要ç´??出åŠ?開å§?
733 // 3.8.0.3 (2005/07/15) ヘッãƒ??固定ã?スクロールタイプをセãƒ?ƒˆしますã?
734 // 4.0.0 (2007/04/10) ヘッãƒ??固定ã?スクロールタイプã?、ä¸?�¤にするã€?
735 // String hctype = (String)getRequest().getAttribute( HybsSystem.HEADER_FIX_TYPE );
736 boolean useScBar = nval( useScrollBar,sysBool( "VIEW_USE_SCROLLBAR" ) );
737 // form.setUseScrollBar( useScBar,hctype );
738 form.setUseScrollBar( useScBar );
739
740 // 3.8.6.1 (2006/10/20) ポップアãƒ??で値を返すカラãƒ?–‡字å?(CSV形å¼?
741 form.setPopupReturnKeys( popupReturnKeys );
742 form.setTableClass( clazz ); // 4.0.0 (2007/04/16)
743
744 // 3.7.0.3 (2005/03/01) æŒ?®šã?行番号まで画面をスクロールさせる機è?を追åŠ??{I} は無視するã?
745 String rowval = nval( getRequestValue( "SEL_ROW" ),null ) ;
746
747 boolean useSelRow = nval( useSelectedRow,sysBool( "VIEW_USE_SELECTED_ROW" ) );
748 if( useSelRow && rowval != null && !rowval.equalsIgnoreCase( "{I}" ) ) {
749 boolean useSelRowClr = nval( useSelRowColor,sysBool( "VIEW_USE_SELROW_COLOR" ) ) ;
750 form.setScrollRowNo( Integer.parseInt( rowval ),useSelRowClr );
751 }
752
753 // 4.0.0 (2005/11/30) カラãƒ?ƒールを判定して、アクセス不可の場合ã?表示させなã�?‚ˆã�?�«するã€?
754 int clmSize = table.getColumnCount();
755 UserInfo userInfo = getUser();
756 for( int clmNo=0; clmNo<clmSize; clmNo++ ) {
757 DBColumn dbColumn = table.getDBColumn( clmNo );
758
759 // 4.3.6.0 (2009/04/01) セãƒ?‚·ョンに生SQLを登録
760 // 5.1.7.0 (2010/06/01) 動的プルãƒ?‚¦ン実è£?¦‹直ã�?
761 String evCol = dbColumn.getEventColumn();
762 if( evCol != null && evCol.length() > 0 ){
763 addEventColumn( dbColumn );
764 }
765
766 // 4.3.0.0 (2008/07/04) ロールモードによる設å®?
767 byte bitMode = userInfo.getAccessBitMode( dbColumn.getRoleMode() );
768 // アクセス不許可の場合ã?み、セãƒ?ƒˆするã€?
769 // それ以外ã?、columnDisplay ,noDisplay 属æ?が適用されてã�?‚‹ã€?
770 if( !RoleMode.isRead( bitMode ) ) {
771 form.setColumnDisplay( clmNo,false );
772 }
773 // 書込み不許可の場合ã?み、セãƒ?ƒˆするã€?
774 // それ以外ã?、columnWritable ,noWritable 属æ?が適用されてã�?‚‹ã€?
775 if( !RoleMode.isWrite( bitMode ) ) {
776 form.setColumnWritable( clmNo,false );
777 }
778 }
779
780 // 3.8.6.0 (2006/09/29) useHilightRow 属æ?追åŠ?
781 boolean useHiRow = nval( useHilightRow,sysBool( "VIEW_USE_HILIGHT_ROW" ) );
782 // 5.1.7.0 (2010/06/01) HilightRow用のDivはå¿?�š出ã�?画面遷移なし登録(JavaScript)の正規表現でマッチさせるため))
783 // 5.1.8.0 (2010/07/01) Divをå¿?�š出すã?は、画面遷移なし登録の場合ã?みとする(CustomData対å¿?
784 if( useHiRow || noTransition ) {
785 jspPrint( "<div id=\"divHlr\"" );
786 if( useHiRow ) {
787 // 4.3.7.0 (2009/06/01)
788 boolean useHiCkOnly = nval( useHilightCheckOnly,sysBool( "VIEW_USE_HILIGHT_CHECK_ONLY" ) );
789 jspPrint( " onclick=\"hilightRow( event, " + useHiCkOnly + ");\"" );
790 }
791 jspPrint( ">" );
792 }
793
794 // 5.2.2.0 (2010/11/01) useHeaderColumn 属æ?をã?ViewCrossTableParam.USE_HEADER_COLUMN をキーに、取得すã‚?
795 if( viewParam != null &&
796 "true".equalsIgnoreCase( viewParam.get( ViewCrossTableParam.USE_HEADER_COLUMN ) ) ) {
797 form.setResourceManager( getResource() );
798 }
799
800 form.setNoTransition( noTransition ); // 4.3.3.0 (2008/10/01) 追åŠ?
801
802 jspPrint( form.create( startNo,pageSize ) );
803
804 // 5.1.8.0 (2010/07/01) Divをå¿?�š出すã?は、画面遷移なし登録の場合ã?みとする(CustomData対å¿?
805 if( useHiRow || noTransition ) {
806 jspPrint( "</div>" );
807 }
808
809 // 5.7.6.1 (2014/05/09) mainView時ã?みstartNoを登録する
810 if( isMainView ){
811 setRequestCacheData( START_NO_KEY,String.valueOf( tempStartNo ) ); // 3.5.4.7 (2004/02/06)
812 }
813
814 // 3.6.0.0 (2004/09/22) pageSize の hidden 出力ã?、å?期設定å?としますã?
815 if( useAfterHtmlTag ) { // 3.7.1.1 (2005/05/23)
816 jspPrint( makePageSize( oldPageSize ) ); // 3.6.0.0 (2004/09/22)
817 }
818
819 makeConsistencyKey(); // 3.5.5.8 (2004/05/20)
820
821 setObject( viewFormId, form );
822
823 // 3.5.4.8 (2004/02/23) è¶?‰¹殊å?ç�?DBTableModel ã‚?View で置き換えますã?
824 // 5.2.2.0 (2010/11/01) saveTableId 属æ?をã?ViewCrossTableParam.SAVE_SCOPE_KEY をキーに、取得すã‚?
825 if( viewParam != null ) {
826 String saveTableId = viewParam.get( ViewCrossTableParam.SAVE_TABLEID_KEY ); // 5.2.2.0 (2010/11/01)
827 if( saveTableId != null ) {
828 String saveScope = viewParam.get( ViewCrossTableParam.SAVE_SCOPE_KEY );
829 setObject( saveTableId, form.getDBTableModel() , saveScope );
830 }
831 }
832
833 // 5.1.6.0 (2010/05/01) Viewで表示したé ?›®をDBLastSqlにセãƒ?ƒˆしますã?
834 if( table.getRowCount() > 0 ) {
835 setViewClms();
836 }
837 }
838
839 if( useAfterHtmlTag ) { // 3.7.1.1 (2005/05/23)
840 // 3.5.4.7 (2004/02/06)
841 long dyTime = System.currentTimeMillis()-dyStart;
842 jspPrint( "<div id=\"viewTime\" value=\"" + (dyTime) + "\"></div>" ); // 3.5.6.3 (2004/07/12)
843 }
844
845 return EVAL_PAGE ;
846 }
847
848 /**
849 * タグリブオブジェクトをリリースしますã?
850 * キャãƒ?‚·ュされて再利用されるã?で、フィールドã?初期設定を行いますã?
851 *
852 * @og.rev 2.0.0.4 (2002/09/27) カスタãƒ?‚¿グの release() メソãƒ?ƒ‰をã?追åŠ?
853 * @og.rev 2.0.0.4 (2002/09/27) カスタãƒ?‚¿グの release() メソãƒ?ƒ‰をã?追åŠ?
854 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
855 * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()で呼ぶã€?
856 * @og.rev 3.5.2.0 (2003/10/20) headerSkipCount属æ?を追åŠ?
857 * @og.rev 3.5.3.0 (2003/10/27) backLinkCount,headerSkipCount属æ?の初期値をPropertyファイルから設å®?
858 * @og.rev 3.5.4.0 (2003/11/25) format 関係ã?æ–?—å?をå»?¢。TableFormatter クラスを使用するã€?
859 * @og.rev 3.5.4.3 (2004/01/05) useCheckControl属æ?を追åŠ?
860 * @og.rev 3.5.4.7 (2004/02/06) DBTableModelのソート機è? useTableSorter を追åŠ?
861 * @og.rev 3.5.4.7 (2004/02/06) 実行時間測定用に、dyStart を追åŠ?�—ますã?
862 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追åŠ?�—ますã?
863 * @og.rev 3.5.5.8 (2004/05/20) useConsistency 属æ?を追åŠ?�—ますã?
864 * @og.rev 3.5.6.2 (2004/07/05) bgColorCycle 変数の追åŠ??
865 * @og.rev 3.5.6.3 (2004/07/12) useScrollBar 変数の追åŠ??
866 * @og.rev 3.6.0.0 (2004/09/17) sortKeys 変数の追åŠ??カラãƒ?‚½ートリンクをå?すカラãƒ?��を指定ã?
867 * @og.rev 3.6.0.4 (2004/10/14) loadMarker 変数の追åŠ??
868 * @og.rev 3.7.0.1 (2005/01/31) 全件チェãƒ?‚¯コントロール変更(useCheckControl)
869 * @og.rev 3.7.1.1 (2005/05/23) SEL_ROW機è?の有効/無効を指定しますã?
870 * @og.rev 3.7.1.1 (2005/05/23) 処ç�?™‚間やペã?ジサイズなどのæƒ??出力ã?有効/無効を指定しますã?
871 * @og.rev 3.8.0.9 (2005/10/17) writableControl 属æ?を追åŠ?�—ますã?
872 * @og.rev 3.8.6.0 (2006/09/29) useHilightRow 属æ?を追åŠ?�—ますã?
873 * @og.rev 3.8.6.1 (2006/10/20) editMarkerId , popupReturnKeys属æ?を追åŠ?�—ますã?
874 * @og.rev 4.3.0.0 (2008/07/04) fileUD ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?
875 * @og.rev 4.3.1.0 (2008/09/08) isSkipNoEdit属æ?対å¿?
876 * @og.rev 4.3.3.0 (2008/10/01) noTransition 属æ?を追åŠ?�—ますã?
877 * @og.rev 4.3.7.0 (2009/06/01) useHilightCheckOnly 属æ?を追åŠ?�—ますã?
878 * @og.rev 5.1.6.0 (2010/05/01) clmSeqDisplay 属æ?を追åŠ?�—ますã?
879 * @og.rev 5.1.8.0 (2010/07/01) noGroup , noGroup 属æ?を追åŠ?�—ますã?
880 * @og.rev 5.1.8.0 (2010/07/01) bgColorClsClm 属æ?を追åŠ?�—ますã?
881 * @og.rev 5.2.1.0 (2010/10/01) ä¸?‹¬入力カラãƒ??アシスト機è?を利用する、columnBulkSet 属æ?を追åŠ?�—ますã?
882 * @og.rev 5.5.9.0 (2012/12/03) viewArrayList追åŠ?
883 * @og.rev 5.7.6.1 (2014/05/09) mainView追åŠ?
884 * @og.rev 5.8.6.0 (2015/04/03) OrgClmNames対å¿?
885 */
886 @Override
887 protected void release2() {
888 super.release2();
889 tableId = HybsSystem.TBL_MDL_KEY;
890 viewFormId = HybsSystem.VIEWFORM_KEY;
891 viewFormType = null;
892 viewLinkId = HybsSystem.VIEWLINK_KEY;
893 viewMarkerId = HybsSystem.VIEW_MARK_KEY;
894 editMarkerId = HybsSystem.EDIT_MARK_KEY; // 3.8.6.1 (2006/10/20)
895 command = null;
896 startNo = -1; // HTML画面上ã?表示開始位置(初期値)
897 tempStartNo = -1; // 再検索時ã?表示開始位置
898 pageSize = -1; // HTML画面上に表示する件数
899 pagePlus = -1; // 3.5.6.4 (2004/07/16)
900 table = null;
901 form = null;
902 columnWritable = null;
903 noWritable = null;
904 columnDisplay = null;
905 noDisplay = null;
906 clmSeqDisplay = null; // 5.1.6.0 (2010/05/01) ViewForm_HTMLSeqClmTable 対å¿?
907 columnGroup = null; // 3.8.5.0 (2006/03/20)
908 noGroup = null; // 5.1.8.0 (2010/07/01)
909 groupClass = null; // 5.1.8.0 (2010/07/01)
910 noMessage = false;
911 writable = null;
912 checked = null;
913 skip = ViewForm.DEFAULT_SKIP;
914 rowspan = "2";
915 selectedType = "checkbox";
916 numberType = "sequence";
917 optTypeAttri = null;
918 values = null;
919 backLinkCount = HybsSystem.sysInt( "VIEW_BACK_LINK_COUNT" );
920 headerSkipCount = HybsSystem.sysInt( "VIEW_HEADER_SKIP_COUNT" ); // 0:通常ヘッãƒ??n:n回ごとに現れる
921 bodyString = null;
922 useCheckControl = -1 ;
923 useTableSorter = null ; // 3.5.4.7 (2004/02/06)
924 dyStart = 0; // 3.5.4.7 (2004/02/06)
925 viewParam = null; // 3.5.4.8 (2004/02/23)
926 useParam = false; // 3.5.4.8 (2004/02/23)
927 useConsistency = HybsSystem.sysBool( "USE_CONSISTENCY" ); // 3.5.5.8 (2004/05/20)
928 bgColorCycle = 1 ; // 3.5.6.2 (2004/07/05)
929 bgColorClsClm = null; // 5.1.8.0 (2010/07/01)
930 useScrollBar = null;
931 sortKeys = null; // 3.6.0.0 (2004/09/17)
932 loadMarker = ",NEW,RENEW,REVIEW,RESET,"; // 4.0.0.0 (2007/11/26)
933 useSelectedRow = null;
934 useSelRowColor = null;
935 useAfterHtmlTag = true; // 3.7.1.1 (2005/05/23)
936 writableControl = null; // 3.8.0.9 (2005/10/17)
937 useHilightRow = null; // 3.8.6.0 (2006/09/29)
938 popupReturnKeys = null ; // 3.8.6.1 (2006/10/20)
939 clazz = "viewTable"; // 4.0.0 (2007/04/16)
940 height = null; // 4.2.0.0 (2008/03/18)
941 width = null; // 4.2.0.0 (2008/03/18)
942 fileDwnClms = null ; // 4.3.0.0 (2008/07/04)
943 skipNoEdit = false; // 4.3.1.0 (2008/09/08)
944 noTransition = false; // 4.3.3.0 (2008/10/01)
945 useHilightCheckOnly = null; // 4.3.7.0 (2009/06/01)
946 columnBulkSet = null; // 5.2.1.0 (2010/10/01)
947 useDefBulkset = HybsSystem.sysBool( "VIEW_USE_DEFAULT_BULKSET" ) ; // 5.2.1.0 (2010/10/01)
948 viewArrayList = null; // 5.5.9.0 (2012/12/03)
949 isMainView = true; // 5.7.6.1 (2014/05/09)
950 lastSql = null; // 5.8.6.0 (2015/04/03)
951 editConf = null; // 5.8.6.0 (2015/04/03)
952 editColumnDisplay = null; // 5.8.6.0
953 }
954
955 /**
956 * 左右åˆ?‰²スクロール(SplitViewTag)が存在すれば、パラメータの初期値設定などを行いますã?
957 *
958 * @og.rev 5.3.0.0 (2010/12/01) 左右åˆ?‰²スクロール(SplitViewTag)対å¿?
959 * @og.rev 5.5.4.0 (2012/07/02) 2回目のnoDisplayを追記型に変更
960 */
961 private void splitViewParamSet() {
962 SplitViewTag splitView = (SplitViewTag)findAncestorWithClass( this,SplitViewTag.class );
963 if( splitView != null ) {
964 String fixDisplay = splitView.getFixDisplay();
965 boolean isFirstStep = splitView.isFirstStep();
966
967 if( isFirstStep ) { // ?‘回目(左側:固定部)
968 // Viewタグの左側には、fixDisplay のカラãƒ?‚’ columnDisplay に設定するã?
969 columnDisplay = fixDisplay;
970 noDisplay = null;
971 }
972 else { // ?’回目(右側:可変部)
973 // Viewタグの右側には、command="VIEW" , noMessage="true" , useSelectedRow="false"
974 // numberType="delete" をセãƒ?ƒˆするとともに、fixDisplay のカラãƒ?‚’ noDisplay の
975 columnDisplay = null;
976 if( noDisplay != null && noDisplay.length() > 0 ){
977 noDisplay += ","+fixDisplay; // 5.5.4.0 (2012/07/02) カンマ区åˆ?‚Šで追記すã‚?
978 }
979 else{
980 noDisplay = fixDisplay;
981 }
982
983 command = "VIEW";
984 numberType = "delete" ;
985 noMessage = true;
986 useSelectedRow = "false";
987 }
988 }
989 }
990
991 /**
992 * 【TAGã€?通常は使ã�?�¾せん)結果のDBTableModelをã?sessionに登録するときã?キーを指定しまã�?
993 * (初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
994 *
995 * @og.tag
996 * 検索結果より、DBTableModelオブジェクトを作æ?しますã?これをã?下流ã?viewタグ等に
997 * 渡すå?合にã€??常は、session を利用しますã?そã?場合ã?登録キーですã?
998 * query タグを同時に実行して、結果を求めるå?合ã?同ä¸?ƒ¡モリに配置される為ã€?
999 * こã? tableId 属æ?を利用して、メモリ空間をåˆ?�‘ますã?
1000 * (初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
1001 *
1002 * @param id sessionに登録する時ã? ID
1003 */
1004 public void setTableId( final String id ) {
1005 tableId = nval( getRequestParameter( id ),tableId ); // 3.8.0.9 (2005/10/17)
1006 }
1007
1008 /**
1009 * 【TAGã€?通常使ã�?�¾せん)sessionから取得すã‚?ViewForm オブジェクトã? IDã€?
1010 *
1011 * @og.tag
1012 * 表示処ç�?¾Œに??å†?ƒ¨ポインタを書き換えた)ViewForm オブジェクトを
1013 * 同じキーで、sessionに登録しますã?
1014 * 初期値は、HybsSystem.VIEWFORM_KEY ですã?
1015 *
1016 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1017 * @og.rev 3.5.6.4 (2004/07/16) VIEW_ID を付加して、他ã?id と混同しなã�?‚ˆã�?�«しますã?
1018 *
1019 * @param id ViewForm オブジェクãƒ?D
1020 */
1021 public void setViewFormId( final String id ) {
1022 String temp = getRequestParameter( id ) ;
1023 if( temp != null && temp.length() > 0 ) {
1024 viewFormId = temp + TaglibUtil.VIEW_ID;
1025 }
1026 }
1027
1028 /**
1029 * 【TAGã€?通常つかいません)requestから取得すã‚?ViewLink に対応すã‚?Attributes オブジェクトã? IDã€?
1030 *
1031 * @og.tag
1032 * ViewForm オブジェクトに、ViewLink オブジェクトをこã?キーより取得することによりã€?
1033 * カラãƒ?�«対して、リンクæƒ??を付加して表示させるã?
1034 * 初期値は、HybsSystem.VIEWLINK_KEY ですã?
1035 *
1036 * @og.rev 3.1.4.0 (2003/04/18) 初期値をè?慮して、属æ?登録を行うように変更ã€?
1037 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1038 * @og.rev 3.5.6.4 (2004/07/16) LINK_ID を付加して、他ã?id と混同しなã�?‚ˆã�?�«しますã?
1039 *
1040 * @param id ViewLink オブジェクãƒ?D
1041 */
1042 public void setViewLinkId( final String id ) {
1043 String temp = getRequestParameter( id ) ;
1044 if( temp != null && temp.length() > 0 ) {
1045 viewLinkId = temp + TaglibUtil.LINK_ID;
1046 }
1047 }
1048
1049 /**
1050 * 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?ViewMarker に対応すã‚?Attributes オブジェクトã? IDã€?
1051 *
1052 * @og.tag
1053 * ViewForm オブジェクトに、ViewMarker オブジェクトをこã?キーより取得することによりã€?
1054 * カラãƒ?�«対して、ã?ーカーæƒ??を付加して表示させるã?
1055 * 初期値は、HybsSystem.VIEW_MARK_KEY ですã?
1056 *
1057 * @og.rev 3.1.4.0 (2003/04/18) 新規追åŠ?
1058 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1059 * @og.rev 3.5.6.4 (2004/07/16) MARK_ID を付加して、他ã?id と混同しなã�?‚ˆã�?�«しますã?
1060 *
1061 * @param id ViewMarker オブジェクãƒ?D
1062 */
1063 public void setViewMarkerId( final String id ) {
1064 String temp = getRequestParameter( id ) ;
1065 if( temp != null && temp.length() > 0 ) {
1066 viewMarkerId = temp + TaglibUtil.MARK_ID;
1067 }
1068 }
1069
1070 /**
1071 * 【TAGã€?通常使ã�?�¾せん)requestから取得すã‚?EditMarker に対応すã‚?Attributes オブジェクトã? IDã€?
1072 *
1073 * @og.tag
1074 * ViewForm オブジェクトに、EditMarker オブジェクãƒ?実際は、ViewMarker オブジェクãƒ?ã‚?
1075 * こã?キーより取得することにより、カラãƒ?�«対して、ã?ーカーæƒ??を付加して表示させるã?
1076 * 初期値は、HybsSystem.EDIT_MARK_KEY ですã?
1077 *
1078 * @og.rev 3.8.6.1 (2006/10/20) 新規追åŠ?
1079 *
1080 * @param id EditMarker オブジェクãƒ?D(実際は、ViewMarker オブジェクãƒ?
1081 */
1082 public void setEditMarkerId( final String id ) {
1083 String temp = getRequestParameter( id ) ;
1084 if( temp != null && temp.length() > 0 ) {
1085 editMarkerId = temp + TaglibUtil.MARK_ID;
1086 }
1087 }
1088
1089 /**
1090 * 【TAG】ViewForm オブジェクトを作æ?するクラス({@og.doc03Link viewFormType ViewForm_**** クラスの ****})を指定しますã?
1091 *
1092 * @og.tag
1093 * これは、org.opengion.hayabusa.html 以下ã? ViewForm_**** クラスの **** ã‚?
1094 * 与えますã?これらã?、ViewForm インターフェースを継承したサブクラスですã?
1095 * 属æ?クラス定義の {@link org.opengion.hayabusa.html.ViewForm ViewForm} を参照願いますã?
1096 * {@og.doc03Link viewFormType ViewForm_**** クラス}
1097 *
1098 * @param id ViewForm タイãƒ?
1099 * @see org.opengion.hayabusa.html.ViewForm ViewFormのサブクラス
1100 */
1101 public void setViewFormType( final String id ) {
1102 viewFormType = getRequestParameter( id );
1103
1104 if( viewFormType == null || viewFormType.length() == 0 ) {
1105 String errMsg = "viewForm の id が設定されてã�?�¾せんã€?;
1106 throw new HybsSystemException( errMsg );
1107 }
1108 }
1109
1110 /**
1111 * 【TAG】コマンãƒ?PREV,NEXT,FIRST,LAST,NEW,RENEW,VIEW,REVIEW,RESET)をセãƒ?ƒˆしますã?
1112 *
1113 * @og.tag
1114 * コマンドã?,HTMLから(get/post)æŒ?®šされますã?で,CMD_xxx で設定される
1115 * フィールド定数値のã�?�¥れかをã?æŒ?®šできますã?
1116 *
1117 * @og.rev 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1118 *
1119 * @param cmd コマンãƒ?public static final 宣è¨?�•れてã�?‚‹æ–?—å?)
1120 * @see <a href="../../../../constant-values.html#org.opengion.hayabusa.taglib.ViewFormTag.CMD_PREV">コマンド定数</a>
1121 */
1122 public void setCommand( final String cmd ) {
1123 String cmd2 = getRequestParameter( cmd );
1124 if( cmd2 != null && cmd2.length() > 0 ) { command = cmd2.toUpperCase(Locale.JAPAN); }
1125
1126 if( command == null ||
1127 (command.trim()).length() == 0 ||
1128 ! check( command, COMMAND_LIST ) ) {
1129 // 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1130 command = CMD_XXX ;
1131 }
1132 }
1133
1134 /**
1135 * 【TAG】表示ãƒ??タを作æ?する場合ã?表示の開始行番号をセãƒ?ƒˆしますã?
1136 *
1137 * @og.tag
1138 * セãƒ?ƒˆされてã�?�ªã�??合ã??Œ変更しませんã€?
1139 *
1140 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1141 *
1142 * @param no 表示開始行番号(先é?は ??
1143 */
1144 public void setStartNo( final String no ) {
1145 startNo = nval( getRequestParameter( no ),startNo );
1146 tempStartNo = startNo;
1147 }
1148
1149 /**
1150 * 【TAG】表示ãƒ??タを作æ?する場合ã??‘ã?ージの行数をセãƒ?ƒˆしますã?
1151 *
1152 * @og.tag
1153 * セãƒ?ƒˆされてã�?�ªã�??合ã??Œ変更しませんã€?
1154 *
1155 * @param sz ?‘ã?ージの行数
1156 */
1157 public void setPageSize( final String sz ) {
1158 pageSize = nval( getRequestParameter( sz ),pageSize );
1159 }
1160
1161 /**
1162 * 【TAG】1ã?ージの行数の増加åˆ?‚’セãƒ?ƒˆしまã�?初期値:0)ã€?
1163 *
1164 * @og.tag
1165 * セãƒ?ƒˆされてã�?�ªã�??合ã??Œï¼?増加なã�?ですã?
1166 *
1167 * @param pp ?‘ã?ージの行数
1168 */
1169 public void setPagePlus( final String pp ) {
1170 pagePlus = nval( getRequestParameter( pp ),pagePlus );
1171 }
1172
1173 /**
1174 * 【TAG】ã?ージの先é?へのリンクの間隔をセãƒ?ƒˆしまã�?
1175 * (初期値:VIEW_BACK_LINK_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_BACK_LINK_COUNT}])ã€?
1176 *
1177 * @og.tag
1178 * 0 にセãƒ?ƒˆすると、リンクは作æ?されませんã€?
1179 * ãƒ??ブルのヘッãƒ??固定ができなã�?‚±ースでは、データ件数が多いと、登録ボタンが見えなくなりますã?
1180 * そã?場合ã?スクロールして上に上がるよりã?行番号に作æ?されリンクで、ä¸?°—に上に戻るほã�?�Œ早くå?ç�?�§きますã?
1181 * そã?場合ã?段çµ?�¿等してã�?‚‹とã€?–“隔を少なくしておくå¿?¦�が出てきますã?
1182 * ヘッãƒ??固定を利用する場合ã?、不要ですã?
1183 * (初期値:シスãƒ?ƒ 定数のVIEW_BACK_LINK_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_BACK_LINK_COUNT}])ã€?
1184 *
1185 * @param blc リンクの間隔
1186 * @see org.opengion.hayabusa.common.SystemData#VIEW_BACK_LINK_COUNT
1187 */
1188 public void setBackLinkCount( final String blc ) {
1189 backLinkCount = nval( getRequestParameter( blc ),backLinkCount );
1190 }
1191
1192 /**
1193 * 【TAG】ã?ãƒ?ƒ€ーをå?力する間隔をセãƒ?ƒˆしまã�?
1194 * (初期値:VIEW_HEADER_SKIP_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_HEADER_SKIP_COUNT}])ã€?
1195 *
1196 * @og.tag
1197 * 0を指定すると、繰り返しません(つまりã?ヘッãƒ??を最初に表示するã�?�‘ですã?)
1198 * 数字をæŒ?®šすると、その回数毎に、ã?ãƒ?ƒ€ーをデータの行に挿入しますã?
1199 * (初期値:シスãƒ?ƒ 定数のVIEW_HEADER_SKIP_COUNT[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_HEADER_SKIP_COUNT}])ã€?
1200 *
1201 * @og.rev 3.5.2.0 (2003/10/20) 新規作æ?
1202 *
1203 * @param hsc ヘッãƒ??の表示間隔 ( 0:通常ヘッãƒ??n:n回ごとに現れる )
1204 * @see org.opengion.hayabusa.common.SystemData#VIEW_HEADER_SKIP_COUNT
1205 */
1206 public void setHeaderSkipCount( final String hsc ) {
1207 headerSkipCount = nval( getRequestParameter( hsc ),headerSkipCount );
1208 }
1209
1210 /**
1211 * 【TAG】書き込み可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1212 *
1213 * @og.tag
1214 * これは、書き込み不可カラãƒ?��のæŒ?®?noWritable)と同時にセãƒ?ƒˆする
1215 * ことは出来ませんã€?
1216 * "*" を指定すると、すべてのカラãƒ?‚’(columnWritable)æŒ?®šしたことになりますã?
1217 *
1218 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1219 * @og.rev 4.1.2.0 (2008/03/12) 引数にã€?null" を指定可能とするã€?
1220 * @og.rev 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
1221 * @og.rev 4.2.1.1 (2008/04/30) 引数にA,B,{@XXXX}等がæŒ?®šされた場合に{@XXXX}の変換が行われなã�?ƒ�グを修正
1222 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1223 *
1224 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1225 * @see #setNoWritable( String )
1226 */
1227 public void setColumnWritable( final String columnName ) {
1228 columnWritable = nval( getRequestParameter(columnName),null );
1229 if( "null".equalsIgnoreCase( columnWritable ) ) { columnWritable = ""; }
1230 }
1231
1232 /**
1233 * 【TAG】書き込み不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1234 *
1235 * @og.tag
1236 * これは、書き込み可能カラãƒ?��のæŒ?®?columnWritable)と同時にセãƒ?ƒˆする
1237 * ことは出来ませんã€?
1238 * "*" を指定すると、すべてのカラãƒ?‚’(noWritable)æŒ?®šしたことになりますã?
1239 *
1240 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1241 * @og.rev 4.1.2.0 (2008/03/12) 引数にã€?null" を指定可能とするã€?
1242 * @og.rev 4.2.1.0 (2008/04/11) null チェãƒ?‚¯方法変更
1243 * @og.rev 4.2.1.1 (2008/04/30) 引数にA,B,{@XXXX}等がæŒ?®šされた場合に{@XXXX}の変換が行われなã�?ƒ�グを修正
1244 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1245 *
1246 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1247 * @see #setColumnWritable( String )
1248 */
1249 public void setNoWritable( final String columnName ) {
1250 noWritable = nval( getRequestParameter(columnName),null );
1251 if( "null".equalsIgnoreCase( noWritable ) ) { noWritable = ""; }
1252 }
1253
1254 /**
1255 * 【TAG】表示可能カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1256 *
1257 * @og.tag
1258 * これは、表示不可カラãƒ?��のæŒ?®?noDisplay)と同時にセãƒ?ƒˆする
1259 * ことは出来ませんã€?
1260 * "*" を指定すると、すべてのカラãƒ?‚’(columnDisplay)æŒ?®šしたことになりますã?
1261 *
1262 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1263 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1264 *
1265 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1266 * @see #setNoDisplay( String )
1267 */
1268 public void setColumnDisplay( final String columnName ) {
1269 columnDisplay = nval( getRequestParameter(columnName),null );
1270 if( "null".equalsIgnoreCase( columnDisplay ) ) { columnDisplay = ""; }
1271 }
1272
1273 /**
1274 * 【TAG】表示不可カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1275 *
1276 * @og.tag
1277 * これは、表示可能カラãƒ?��のæŒ?®?columnDisplay)と同時にセãƒ?ƒˆする
1278 * ことは出来ませんã€?
1279 * "*" を指定すると、すべてのカラãƒ?‚’(noDisplay)æŒ?®šしたことになりますã?
1280 *
1281 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1282 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1283 *
1284 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1285 * @see #setColumnDisplay( String )
1286 */
1287 public void setNoDisplay( final String columnName ) {
1288 noDisplay = nval( getRequestParameter(columnName),null );
1289 if( "null".equalsIgnoreCase( noDisplay ) ) { noDisplay = ""; }
1290 }
1291
1292 /**
1293 * 【TAG】表示可能カラãƒ?��をã?カラãƒ??に、カンマ区åˆ?‚Šで与えますã?
1294 *
1295 * @og.tag
1296 * これは、ViewForm_HTMLSeqClmTable 用に特別に用意された属æ?ですã?
1297 * 機è?çš?�«は、columnDisplay 属æ?で、カラãƒ??表示é ?�¾でæŒ?®šできる機è?ã‚?
1298 * 用意すべきですがã€?�Ž去のタグとの互換性の関係で、別に用意してã�?�¾すã?
1299 * (こã?属æ?を使用するとã€??常の表示より、å?ç�??度が低下しますã?)
1300 * 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD" こã?é ?•ªで表示され、指定以外ã?カラãƒ??表示されませんã€?
1301 *
1302 * @og.rev 5.1.6.0 (2010/05/01) clmSeqDisplay 属æ?を追åŠ?�—ますã?
1303 *
1304 * @param columnName カラãƒ?��
1305 */
1306 public void setClmSeqDisplay( final String columnName ) {
1307 clmSeqDisplay = nval( getRequestParameter(columnName),null );
1308 }
1309
1310 /**
1311 * 【TAG】同ä¸?¡¨示ãƒ??タをまとめる(表示しなã�?カラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1312 *
1313 * @og.tag
1314 * これは、カラãƒ??グループ化æŒ?®šを行いますã?
1315 * 同じカラãƒ?•ª号でä¸?�¤上ã?行番号と同じå†?®¹の場合に、特殊な表示方法で表示しますã?
1316 * 対応ã?、表示(Renderer)時ã?みとしますã?
1317 * 特殊な表示方法ã?æŒ?®šã?、groupClass 属æ?でæŒ?®šしますã?
1318 * (例:groupClass にアルファベット以外ã?æ–?—ã?・そã?まま表示、アルファベットã?クラス属æ?を付与しますã?)
1319 * カラãƒ?�˜位なので、新しいゼブラによる色åˆ?�‘は行いませんã€?任意ã?カラãƒ?�«適用できる為)
1320 * またã?ファイル出力などのãƒ??タ自身は変更されてã�?�¾せんので、そのままãƒ??タが落ちますã?
1321 *
1322 * これは、同ä¸?¡¨示ãƒ??タをまとめなã�?‚«ラãƒ?��のæŒ?®?noGroup)と同時にセãƒ?ƒˆする
1323 * ことは出来ませんã€?
1324 * "*" を指定すると、すべてのカラãƒ?‚’(columnGroup)æŒ?®šしたことになりますã?
1325 *
1326 * @og.rev 3.8.5.0 (2006/03/20) 新規追åŠ?
1327 * @og.rev 5.1.8.0 (2010/07/01) noWritable 同時セãƒ?ƒˆチェãƒ?‚¯をã?メソãƒ?ƒ‰ではなくã?本体で行うã€?
1328 *
1329 * @param group 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1330 * @see #setNoGroup( String )
1331 * @see #setGroupClass( String )
1332 */
1333 public void setColumnGroup( final String group ) {
1334 columnGroup = nval( getRequestParameter( group ),null );
1335 if( "null".equalsIgnoreCase( columnGroup ) ) { columnGroup = ""; }
1336 }
1337
1338 /**
1339 * 【TAG】同ä¸?¡¨示ãƒ??タをまとめなã�?‚«ラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1340 *
1341 * @og.tag
1342 * これは、カラãƒ??グループ化æŒ?®šで、同ä¸?�§もまとめなã�?‚«ラãƒ?‚’æŒ?®šするほã�?�Œ簡単な場合に
1343 * 使用しますã?例えば、キーæƒ??以外ã?、グループ化æŒ?®šしたい場合などに便利ですã?
1344 * 動作ã?、columnGroup の動きと同じですã?(まとめなã�?‚«ラãƒ?‚’æŒ?®šするだけですã?)
1345
1346 * これは、同ä¸?¡¨示ãƒ??タをまとめるカラãƒ?��のæŒ?®?columnGroup)と同時にセãƒ?ƒˆする
1347 * ことは出来ませんã€?
1348 * "*" を指定すると、すべてのカラãƒ?‚’(noGroup)æŒ?®šしたことになりますã?
1349 *
1350 * @og.rev 5.1.8.0 (2010/07/01) 新規追åŠ?
1351 *
1352 * @param group 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1353 * @see #setColumnGroup( String )
1354 * @see #setGroupClass( String )
1355 */
1356 public void setNoGroup( final String group ) {
1357 noGroup = nval( getRequestParameter( group ),null );
1358 if( "null".equalsIgnoreCase( noGroup ) ) { noGroup = ""; }
1359 }
1360
1361 /**
1362 * 【TAG】同ä¸?¡¨示ãƒ??タをまとめる場合ã?、表示方法をæŒ?®šしますã?
1363 *
1364 * @og.tag
1365 * これは、カラãƒ??グループ化æŒ?®?columnGroup)を行う場合ã?、まとめ表示の方法をæŒ?®šしますã?
1366 * なにも指定しなã�??合ã?、まとめカラãƒ??、表示しなã�?ゼロæ–?—å?)になりますã?
1367 * そã?場合ã?先ã?行と同じ場合も、変更されたカラãƒ?�Œ、NULL(ゼロæ–?—å?)であったå?合もã€?
1368 * 同じ用に表示されるためã?区別が付きませんã€?
1369 * そこで、前の行と同じãƒ??タの場合に、特殊な処ç�?‚’行うことで、区別できるようにしますã?
1370 * æŒ?®š方法が特殊なので、注意がå¿?¦�ですã?
1371 * 記号の場合ï¼?
1372 * 記号(-- , â†?, â†?, * など)が指定された場合ã?、そのままのæ–?—に置き換えられますã?
1373 * 初期値は、空æ–?—å?(ゼロæ–?—å?)ですã?
1374 * アルファベットã?場合ï¼?
1375 * アルファベッãƒ?a-z,A-Z)の場合ã?ã€?lt;span class="アルファベッãƒ?>å…??æ–??lt;/span>
1376 * 例えば、バãƒ?‚¯カラーに色を付けるã?æ–?—をè–?�„灰色にする、などできますã?
1377 * ただしã?ãƒ??タ量が圧倒的に増えるためã?大量ã?ãƒ??タ等で使用するのは避けたほã�?�Œ良ã�?�¨思いますã?
1378 *
1379 * @og.rev 3.8.5.0 (2006/03/20) 新規追åŠ?
1380 *
1381 * @param grpCls まとめ表示の方æ³?
1382 */
1383 public void setGroupClass( final String grpCls ) {
1384 groupClass = nval( getRequestParameter(grpCls),null );
1385 }
1386
1387 /**
1388 * 【TAG】カラãƒ?��リンクソートを表示するカラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
1389 *
1390 * @og.tag
1391 * ヘッãƒ??にソート用リンクを作æ?する useTableSorter 属æ? に対してã€?
1392 * カラãƒ??別に作æ?する場合ã?カラãƒ?��をカンマ区åˆ?‚Šæ–?—でæŒ?®šしますã?
1393 * こã? sortKeys 属æ?は、useTableSorter 属æ? と無関係に、指定しã�?
1394 * カラãƒ??み、リンクを表示しますã?
1395 * "*" を指定すると、すべてのカラãƒ?‚’(tableSorterKeys)æŒ?®šしたことになりますã?
1396 * 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
1397 *
1398 * @og.rev 3.6.0.0 (2004/09/17) 新規作æ?
1399 *
1400 * @param columnName カラãƒ?��
1401 */
1402 public void setTableSorterKeys( final String columnName ) {
1403 sortKeys = nval( getRequestParameter(columnName),null );
1404 }
1405
1406 /**
1407 * 【TAG】検索結果メãƒ?‚»ージを表示しなã�?�‹どã�?�‹[true/false]を設定しまã�?初期値:false[表示する])ã€?
1408 *
1409 * @og.tag
1410 * 初期値は、表示する(true以å¤?ですã?
1411 *
1412 * @param flag 検索結果メãƒ?‚»ージの制御 [true:表示しなã�?それ以å¤?表示する]
1413 */
1414 public void setNoMessage( final String flag ) {
1415 noMessage = nval( getRequestParameter( flag ),noMessage );
1416 }
1417
1418 /**
1419 * 【TAG】行が書き込み可能かどã�?�‹[true/false]を設定しまã�?
1420 * (初期値:DBTableModel#DEFAULT_WRITABLE[={@og.value DBTableModel#DEFAULT_WRITABLE}])ã€?
1421 *
1422 * @og.tag
1423 * 書込み許可する場合ã?, true、許可しなã�??合ã?, true 以外を設定しますã?
1424 * ここで、false を設定すると全行書込み禁止になりますã?true を設定しã�?
1425 * 場合ã?ãƒ?ƒ•ォルトで書込み許可が与えられ、å?頭カラãƒ?�Œ writable であればã€?
1426 * そã?値を取り込んで、行ごとの書込み許可/不許可が決定されますã?
1427 * writable,checked,useCheckControl につã�?�¦は、writable が最優先で
1428 * 次に、useCheckControl="2"(またã?、checked)、次に、checked を判定しますã?
1429 * checked="true"の場合ã?、useCheckControl がã?"1"(true)以上ã?場合ã?
1430 * "2"(checked)に設定されますã?
1431 * (初期値:DBTableModel#DEFAULT_WRITABLE[={@og.value DBTableModel#DEFAULT_WRITABLE}])ã€?
1432 *
1433 * @param flag [true:書込み許可/true以å¤?書込み禁止]
1434 * @see org.opengion.hayabusa.db.DBTableModel#DEFAULT_WRITABLE
1435 */
1436 public void setWritable( final String flag ) {
1437 writable = getRequestParameter( flag );
1438 }
1439
1440 /**
1441 * ãƒ??ブルãƒ??タに書込み許可?�チェãƒ?‚¯状態を設定しますã?
1442 *
1443 * @og.rev 3.6.0.0 (2004/09/17) writable ã�?false の場合å?件チェãƒ?‚¯用チェãƒ?‚¯ボックスをå?さなã�??
1444 * @og.rev 3.7.0.1 (2005/01/31) 全件チェãƒ?‚¯コントロールのロジãƒ?‚¯変更(useCheckControl)
1445 * @og.rev 3.8.8.5 (2007/03/09) 全件チェãƒ?‚¯(useCheckControl)と、å?別チェãƒ?‚¯(checked)の整合æ?
1446 * @og.rev 5.5.5.6 (2012/08/31) ユーザーと画面の関係が、リードオンリーの場合ã?、writable=falseをå?部設定するã?
1447 * @og.rev 5.5.6.1 (2012/09/03) writable自動セãƒ?ƒˆはæŒ?®šコマンドã?み
1448 *
1449 * @param table DBTableModelオブジェクãƒ?
1450 */
1451 private void setTableRowWritable( final DBTableModel table ) {
1452
1453 // 5.5.5.6 (2012/08/31) リードオンリーの場合ã?、writable=falseをå?部設定するã?
1454 // こã?タグで、writable が指定された場合ã?、そちらを優先するã?(つまりã?null の場合ã?、å?部設定するã?)
1455 // 5.5.6.1 (2012/09/03) こã?処ç�?‚’行うのはæŒ?®šコマンドã?み
1456 if( ( writable == null || writable.length() == 0 ) && check( command, COMMAND_LIST ) ) {
1457 GUIInfo guiInfo = (GUIInfo)getSessionAttribute( HybsSystem.GUIINFO_KEY );
1458 if ( ! guiInfo.isWrite() ){
1459 writable = "FALSE" ;
1460 }
1461 }
1462
1463 if( writable != null && writable.length() > 0 ) {
1464 boolean flag = "TRUE".equalsIgnoreCase( writable );
1465 table.setDefaultRowWritable( flag );
1466 if( ! flag ) { useCheckControl = 0; } // 3.7.0.1 (2005/01/31)
1467 }
1468
1469 // 全チェãƒ?‚¯ONの場合ã?、å?別チェãƒ?‚¯もONにするã€?
1470 if( useCheckControl == 2 ) { checked = "true"; } // 3.8.8.5 (2007/03/09)
1471
1472 if( checked != null && checked.length() > 0 ) {
1473 boolean flag = "TRUE".equalsIgnoreCase( checked );
1474 table.setDefaultRowChecked( flag );
1475 // 個別チェãƒ?‚¯ONの場合ã?、å?チェãƒ?‚¯もONにするã€?
1476 if( flag && useCheckControl >= 1 ) { useCheckControl = 2; } // 3.8.8.5 (2007/03/09)
1477 }
1478 }
1479
1480 /**
1481 * 【TAG】行ã?チェãƒ?‚¯ボックスの初期値を設定するかどã�?�‹[true/false]を指定しまã�?初期値:null)ã€?
1482 *
1483 * @og.tag
1484 * 書き込み可能なè¡?rowWritable == true)のチェãƒ?‚¯ボックスに対して
1485 * 初期値ã‚?選択済みにするかã?非選択済みにするかをæŒ?®šしますã?
1486 * writable,checked,useCheckControl につã�?�¦は、writable が最優先で
1487 * 次に、useCheckControl="2"(またã?、checked)、次に、checked を判定しますã?
1488 * checked="true"の場合ã?、useCheckControl がã?"1"(true)以上ã?場合ã?
1489 * "2"(checked)に設定されますã?
1490 *
1491 * @param flag [true:書込み許可/それ以å¤?書込み禁止]
1492 */
1493 public void setChecked( final String flag ) {
1494 checked = getRequestParameter( flag );
1495 }
1496
1497 /**
1498 * 【TAG】NEXT等でã€?�¸択行以外をスキãƒ??するのかどã�?�‹[true/false]を指定しまã�?
1499 * (初期値:ViewForm#DEFAULT_SKIP[={@og.value ViewForm#DEFAULT_SKIP}])ã€?
1500 *
1501 * @og.tag
1502 * 明細æƒ??の登録/編é›?™‚に、å¿?¦�な個所のみをé?番に処ç�?�™るå?合に使用しますã?
1503 * (初期値:ViewForm#DEFAULT_SKIP[={@og.value ViewForm#DEFAULT_SKIP}])ã€?
1504 *
1505 * @param flag スキãƒ?? [true:する/それ以å¤?しない]
1506 * @see org.opengion.hayabusa.html.ViewForm#DEFAULT_SKIP
1507 */
1508 public void setSkip( final String flag ) {
1509 skip = nval( getRequestParameter( flag ),skip );
1510 }
1511
1512 /**
1513 * 【TAG】表示ãƒ??タを作æ?する場合ã?フォーマットã?行数をセãƒ?ƒˆしまã�?初期値:2)ã€?
1514 *
1515 * @og.tag 表示ãƒ??タを作æ?する場合ã?フォーマットã?行数をセãƒ?ƒˆしますã?
1516 *
1517 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1518 *
1519 * @param rowspan フォーマットã?行数
1520 */
1521 public void setRowspan( final String rowspan ) {
1522 this.rowspan = getRequestParameter(rowspan);
1523 }
1524
1525 /**
1526 * 【TAG】表示時ã?選択用オブジェクトã?タイプ[checkbox/radio/hidden]を指定しまã�?初期値:checkbox)ã€?
1527 *
1528 * @og.tag
1529 * è¤?•°選択可能時ã? "checkbox" を指定しますã?
1530 * ä¸?�¤ã�?�‘選ばせる場合ã?, "radio" を指定しますã?
1531 * éš?�—フィールドで全件を選ぶ場合ã?ã€?hidden" を指定しますã?
1532 * 初期値はã€?checkbox" ですã?
1533 *
1534 * @og.rev 3.3.1.1 (2003/07/03) {@XXXX} 変数が使用できるように修正ã€?
1535 *
1536 * @param type 選択用オブジェクトã?タイプ[checkbox:è¤?•°選æŠ?radio:ä¸?�¤ã�?�‘/hidden:全件選択]
1537 */
1538 public void setSelectedType( final String type ) {
1539 selectedType = nval( getRequestParameter(type),selectedType );
1540 }
1541
1542 /**
1543 * 【TAG】表示時ã?行番号の表示方法[sequence/none/delete/skip=カラãƒ?��/view=カラãƒ?��]を指定しまã�?初期値:sequence)ã€?
1544 *
1545 * @og.tag
1546 * ・sequenceはã€?¼‘から始まるé?番ですã?
1547 * ・none を指定すると、番号は表示されませんã€?
1548 * ・delete を指定すると、行番号表示そã?もã?のタグを取り除きますã?(3.5.5.0 追åŠ?
1549 * ・skip=カラãƒ?��を指定すると、そのカラãƒ??値ã�?NULL の場合ã?、番号をスキãƒ??しますã?
1550 * ・view=カラãƒ?��を指定すると、そのカラãƒ??値がã?使用されますã?(ラベルは付きません)
1551 * skip=XX と、view=XX はã€?の前後にスペã?スをå?れなã�?�§下さã�??
1552 * 初期値はã€?sequence" ですã?
1553 *
1554 * @og.rev 3.5.1.0 (2003/10/03) 新規作æ?
1555 *
1556 * @param type 行番号の表示方法ã?タイãƒ?[sequence:連番/none:非表示/delete:タグ削除/skip=カラãƒ?��/view=カラãƒ?��]
1557 */
1558 public void setNumberType( final String type ) {
1559 numberType = nval( getRequestParameter(type),numberType );
1560 }
1561
1562 /**
1563 * 【TAG】テーブル等ã?チェãƒ?‚¯ボックスに属æ?を付加しますã?
1564 *
1565 * @og.tag
1566 * JavaScript などの HTML基本タグ以外ã?属æ?をã?そã?まま
1567 * チェãƒ?‚¯ボックス/ラジオボタン等に使用しますã?
1568 * そã?ときにã€?')はã€?")に置き換えますã?
1569 *
1570 * @param attributes HTML基本タグ以外ã?属æ?
1571 */
1572 public void setOptionTypeAttributes( final String attributes ) {
1573 String optAttri = getRequestParameter( attributes );
1574 if( optAttri != null && optAttri.length() > 0 ) {
1575 optTypeAttri = optAttri.replace( '\'', '\"' );
1576 }
1577 }
1578
1579 /**
1580 * 【TAG】チェãƒ?‚¯ボックスの全チェãƒ?‚¯を選択するJavaScript の機è?を使用するかどã�?�‹を指定しまã�?
1581 * (初期値:VIEW_USE_CHECK_CONTROL[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_CHECK_CONTROL}])ã€?
1582 *
1583 * @og.tag
1584 * "true" で、コントロール用のチェãƒ?‚¯ボックスが現れて、この機è?を使用することができるようになりますã?
1585 * false は、従来どおりですã?
1586 * 使用するにあたりã?jsp/commpn/default.js にJavaScriptを設定しておきますã?(設定済み)
1587 * false はã€?でも代用可能ですã?true はã€?でも代用可能ですã?
1588 * checked はã€?でも代用可能ですã?checked は、å?期å?をã?チェãƒ?‚¯済みにしますã?
1589 * 注意ï¼?,1,2,true,false,checked 以外ã?æ–?—をセãƒ?ƒˆすると、エラーが発生しますã?
1590 * writable,checked,useCheckControl につã�?�¦は、writable が最優先で
1591 * 次に、useCheckControl="2"(またã?、checked)、次に、checked を判定しますã?
1592 * checked="true"の場合ã?、useCheckControl がã?"1"(true)以上ã?場合ã?
1593 * "2"(checked)に設定されますã?
1594 * (初期値:ユーザー定数のVIEW_USE_CHECK_CONTROL[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_CHECK_CONTROL}])ã€?
1595 *
1596 * @og.rev 3.5.4.3 (2004/01/05) 新規追åŠ?
1597 * @og.rev 3.7.0.1 (2005/01/31) 全件チェãƒ?‚¯コントロールのロジãƒ?‚¯変更(useCheckControl)
1598 *
1599 * @param flag チェãƒ?‚¯ボックスの全チェãƒ?‚¯を選択する機è?を使用するかどã�?�‹
1600 * (true,1:使用する/false,0:使用しなã�?checked,2:初期値チェãƒ?‚¯済み)
1601 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_CHECK_CONTROL
1602 */
1603 public void setUseCheckControl( final String flag ) {
1604 useCheckControl = intCase( getRequestParameter(flag) );
1605
1606 if( useCheckControl < 0 ) {
1607 String errMsg = "useCheckControl は、false(0)/true(1)/2 のã�?�šれかしか登録できませんã€?"
1608 + flag + "]";
1609 throw new HybsSystemException( errMsg );
1610 }
1611 }
1612
1613 /**
1614 * 【TAG】ã?ãƒ?ƒ€ーにソート用リンクを作æ?するかどã�?�‹[true/false]を指定しまã�?
1615 * (初期値:VIEW_USE_TABLE_SORTER[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_TABLE_SORTER}])ã€?
1616 *
1617 * @og.tag
1618 * "true" で、ã?ãƒ?ƒ€ーにソート用リンクを作æ?しますã?
1619 * false は、従来どおりですã?
1620 * 検索済みのDBTableModelをã?メモリ上でソートし、å?表示させますã?
1621 * (初期値:ユーザー定数のVIEW_USE_TABLE_SORTER[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_TABLE_SORTER}])ã€?
1622 *
1623 * @og.rev 3.5.4.7 (2004/02/06) 新規追åŠ?
1624 *
1625 * @param flag ヘッãƒ??にソート用リンクを作æ?するかどã�?�‹ [true:作æ?する/false:作æ?しない]
1626 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_TABLE_SORTER
1627 */
1628 public void setUseTableSorter( final String flag ) {
1629 useTableSorter = nval( getRequestParameter(flag),useTableSorter );
1630 }
1631
1632 /**
1633 * 表示ãƒ??タをã?レビュー可能かどã�?�‹を返しますã?
1634 *
1635 * 不可能な状態とは,すでにä¸?•ª先é?から表示されてã�?‚‹場合ですã?
1636 *
1637 * @return プレビュー可能(true)?�不可能(false)
1638 */
1639 private boolean isPrev() {
1640 if( startNo <= 0 ) {
1641 return false;
1642 }
1643 return true;
1644 }
1645
1646 /**
1647 * 表示ãƒ??タをネクスト可能かどã�?�‹を返しますã?
1648 *
1649 * 不可能な状態とは,すでにä¸?•ª後ろが表示されてã�?‚‹場合ですã?
1650 *
1651 * @return ネクスト可能(true)?�不可能(false)
1652 */
1653 private boolean isNext() {
1654 if( (startNo + pageSize) >= table.getRowCount() ) {
1655 return false;
1656 }
1657 return true;
1658 }
1659
1660 /**
1661 * コマンドを実行しますã?
1662 *
1663 * コマンドã?,HTMLから(get/post)æŒ?®šされますã?で,setCommand()メソãƒ?ƒ‰で
1664 * 登録しますã?
1665 * コマンドを登録すると同時に,実行も行なã�?�¾すã?
1666 *
1667 * @og.rev 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1668 *
1669 * @param command コマンãƒ?public static final 宣è¨?�•れてã�?‚‹æ–?—å?)
1670 * @see <a href="../../../../constant-values.html#org.opengion.hayabusa.taglib.ViewFormTag.CMD_PREV">コマンド定数</a>
1671 */
1672 private void commandExec( final String command ) {
1673 if( CMD_PREV.equals( command ) ) { prev() ; }
1674 else if( CMD_NEXT.equals( command ) ) { next() ; }
1675 else if( CMD_FIRST.equals( command ) ) { first() ; }
1676 else if( CMD_LAST.equals( command ) ) { last() ; }
1677 // else if( CMD_NEW.equals( command ) ) {} // 何もしなã�?
1678 // else if( CMD_REVIEW.equals( command ) ) {} // 何もしなã�?
1679 // else if( CMD_RESET.equals( command ) ) {} // 何もしなã�?
1680 else if( CMD_VIEW.equals( command ) ) { view() ; }
1681 // 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1682 else if( CMD_XXX.equals( command ) ) { view() ; }
1683 this.command = null;
1684 }
1685
1686 /**
1687 * HTMLãƒ??タの表示をã?レビュー(戻ã�?しますã?
1688 *
1689 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1690 *
1691 */
1692 private void prev() {
1693 if( ! isPrev() ) { return ; } // prev 出来なã�??
1694 tempStartNo = tempStartNo - pageSize;
1695 if( tempStartNo < 0 ) { tempStartNo = 0; }
1696 if( skip ) {
1697 for( int i=startNo-1; i>=0; i-- ) {
1698 if( form.isMarked( i ) ) {
1699 startNo = i;
1700 break;
1701 }
1702 }
1703 return ;
1704 }
1705
1706 startNo = startNo - pageSize;
1707 if( startNo < 0 ) {
1708 startNo = 0;
1709 }
1710 }
1711
1712 /**
1713 * HTMLãƒ??タの表示をネクスãƒ?先é?ã‚?しますã?
1714 *
1715 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1716 *
1717 */
1718 private void next() {
1719 if( ! isNext() ) { return ; } // next 出来なã�??
1720 tempStartNo = tempStartNo + pageSize;
1721 if( skip ) {
1722 int end = table.getRowCount();
1723 for( int i=startNo+1; i<end; i++ ) {
1724 if( form.isMarked( i ) ) {
1725 startNo = i;
1726 break;
1727 }
1728 }
1729 return ;
1730 }
1731
1732 startNo = startNo + pageSize;
1733 }
1734
1735 /**
1736 * HTMLãƒ??タの表示をファースãƒ?æœ??)しますã?
1737 *
1738 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1739 *
1740 */
1741 private void first() {
1742 tempStartNo = 0;
1743 if( tempStartNo < 0 ) { tempStartNo = 0; }
1744 if( skip ) {
1745 int end = table.getRowCount();
1746 for( int i=startNo; i<end; i++ ) {
1747 if( form.isMarked( i ) ) {
1748 startNo = i;
1749 break;
1750 }
1751 }
1752 return ;
1753 }
1754
1755 startNo = 0;
1756 }
1757
1758 /**
1759 * HTMLãƒ??タの表示をラスãƒ?æœ?¾?しますã?
1760 *
1761 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1762 *
1763 */
1764 private void last() {
1765 tempStartNo = table.getRowCount() - pageSize;
1766 if( tempStartNo < 0 ) { tempStartNo = 0; }
1767 if( skip ) {
1768 for( int i=startNo; i>=0; i-- ) {
1769 if( form.isMarked( i ) ) {
1770 startNo = i;
1771 break;
1772 }
1773 }
1774 return ;
1775 }
1776
1777 startNo = table.getRowCount() - pageSize;
1778 if( startNo < 0 ) { startNo = 0; }
1779 }
1780
1781 /**
1782 * HTMLãƒ??タの表示をしますã?
1783 *
1784 */
1785 private void view() {
1786 if( skip ) {
1787 int end = table.getRowCount();
1788 for( int i=startNo; i<end; i++ ) {
1789 if( form.isMarked( i ) ) {
1790 startNo = i;
1791 break;
1792 }
1793 }
1794 return ;
1795 }
1796 }
1797
1798 /**
1799 * startNo,pageSize,pagePlus の初期値を設定するã?
1800 *
1801 * @og.rev 3.0.1.3 (2003/03/11) startNo を隠しフィールドに持つ処ç�?‚’、追åŠ?
1802 * @og.rev 3.5.4.1 (2003/12/01) startNo をキャãƒ?‚·ュから取り出すよã�?�«変更ã€?
1803 * @og.rev 3.5.4.7 (2004/02/06) getStartNoKeyメソãƒ?ƒ‰のå»?¢(getRequestCacheDataを利用)
1804 * @og.rev 3.7.0.2 (2005/02/14) NEXT 時に何も選択しなã�?�§追åŠ?�—たå?合ã?ã€?¼‘件目から表示するã€?
1805 * @og.rev 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1806 *
1807 */
1808 private void setDefaultParameter() {
1809 // 3.7.0.2 (2005/02/14)
1810 // 3.8.0.8 (2005/10/03) そã?他ã?コマンドを CMD_XXX にしますã?
1811 if( CMD_XXX.equals( command ) ) {
1812 String[] selected = getRequestValues( HybsSystem.ROW_SEL_KEY ) ;
1813 if( selected == null || selected.length == 0 ) {
1814 startNo = 0;
1815 tempStartNo = startNo;
1816 }
1817 }
1818
1819 if( startNo<0 ) {
1820 startNo = nval( getRequestCacheData( START_NO_KEY ),form.getStartNo() ) ;
1821 tempStartNo = startNo;
1822 }
1823
1824 if( pageSize<0 ) {
1825 pageSize = nval( getRequestValue( PAGE_SIZE_KEY ),form.getPageSize() ) ;
1826 }
1827
1828 if( pagePlus<0 ) {
1829 pagePlus = nval( getRequestValue( PAGE_PLUS_KEY ),0 ) ;
1830 }
1831
1832 }
1833
1834 /**
1835 * å†?ƒ¨タグの TheadTag / TbodyTag / TfootTag より、å?ã€??フォーマットを定義する
1836 * 為のTableFormatter オブジェクトを受け取るã€?
1837 *
1838 * @og.rev 3.5.4.0 (2003/11/25) 新規登録(setAttributes メソãƒ?ƒ‰より移è¡?
1839 *
1840 * @param form TableFormatterオブジェクãƒ?
1841 */
1842 protected void addFormatter( final TableFormatter form ) {
1843 if( values == null ) { values = new ArrayList<TableFormatter>(); }
1844 values.add( form );
1845 }
1846
1847 /**
1848 * pageSize をhidden属æ?で出力するタグを作æ?しますã?
1849 *
1850 * @og.rev 3.5.4.0 (2003/11/25) command="RESET"時に、戻った画面のpageSize がクリアされてしまã�?¯¾応ã?
1851 * @og.rev 3.5.5.5 (2004/04/23) hidden の出力に、XHTMLTag.hidden を使用しますã?
1852 *
1853 * @param pageSize ペã?ジサイズ
1854 *
1855 * @return hidden属æ?で出力するタグ
1856 */
1857 private String makePageSize( final int pageSize ) {
1858 String name = PAGE_SIZE_KEY;
1859 String value = String.valueOf( pageSize );
1860
1861 return XHTMLTag.hidden( name,value ); // 3.5.5.5 (2004/04/23)
1862 }
1863
1864 /**
1865 * consistencyKey をhidden属æ?で出力するタグを作æ?しますã?
1866 * 出力する条件は、useConsistency="true" (初期値)、で
1867 * scope がã? request 以外ã?場合ですã?
1868 * tableId が設定された場合ã?、consistencyKey に、tableId を加えた
1869 * キーにしますã?
1870 *
1871 * @og.rev 3.5.5.5 (2004/04/23) DBTableModel の整合æ?パラメータã‚?hidden で出力しますã?
1872 * @og.rev 3.5.5.5 (2004/04/23) hidden の出力に、XHTMLTag.hidden を使用しますã?
1873 * @og.rev 3.5.5.8 (2004/05/20) makeConsistencyKey メソãƒ?ƒ‰に処ç�?ƒジãƒ?‚¯を移しますã?
1874 *
1875 */
1876 private void makeConsistencyKey() {
1877 if( useConsistency && ! "request".equals( getScope() ) ) {
1878 String name = HybsSystem.CONSISTENCY_KEY;
1879 String value = table.getConsistencyKey() ;
1880
1881 jspPrint( XHTMLTag.hidden( name,value ) );
1882 }
1883 }
1884
1885 /**
1886 * "false","true","checked" のæ–?—å?をã?それぞれã€?,1,2 に対応した数字に変換しますã?
1887 * それ以外ã?æ–?—å?はã€?1 にしますã?
1888 *
1889 * @og.rev 3.7.0.1 (2005/01/31) 新規作æ?
1890 *
1891 * @param flag æ–?—å? (true=1 , false=0 , checked=2) のæ–?—å?
1892 *
1893 * @return 設定å?(0,1,2の数字ã?不正な場合ã?ã€?1 を返すã€?
1894 */
1895 private static int intCase( final String flag ) {
1896 int rtn = -1;
1897 if( "FALSE".equalsIgnoreCase( flag ) || "0".equalsIgnoreCase( flag ) ) {
1898 rtn = 0;
1899 }
1900 else if( "TRUE".equalsIgnoreCase( flag ) || "1".equalsIgnoreCase( flag ) ) {
1901 rtn = 1;
1902 }
1903 else if( "CHECKED".equalsIgnoreCase( flag ) || "2".equalsIgnoreCase( flag ) ) {
1904 rtn = 2;
1905 }
1906 return rtn ;
1907 }
1908
1909 /**
1910 * ViewForm のサブクラスに渡すパラメータマッãƒ?
1911 *
1912 * @og.rev 3.5.4.8 (2004/02/23) ViewParamTag のパラメータを追åŠ?�—ますã?
1913 *
1914 * @param map パラメータマッãƒ?
1915 */
1916 protected void setParam( final Map<String,String> map ) {
1917 viewParam = map ;
1918 }
1919
1920 /**
1921 * ViewForm のサブクラスに渡すパラメータ(æ–?—å?配å?のArrayList)を設定しますã?
1922 *
1923 * @og.rev 5.5.8.3 (2012/11/17) 新規作æ??ˆスタãƒ?‚¯ガント対応ï¼?
1924 * @og.rev 5.5.9.0 (2012/12/03) objectからArrayListに変更
1925 *
1926 * @param list æ–?—å?配å?のArrayList
1927 */
1928 protected void setViewArrayList( final List<String[]> list ) {
1929 viewArrayList = list;
1930 }
1931
1932 /**
1933 * 【TAG】パラメーターファイルの使用をするかどã�?�‹[true/false]を指定しまã�?初期値:false)ã€?
1934 *
1935 * @og.tag
1936 * "true" で、パラメータファイルを読み込ã‚?�Ÿめã?BODY部をå?ç�?�—ますã?
1937 * false は、パラメータファイã�?‚’使用しませんã€?
1938 * パラメータファイルは、各ViewFormのサブクラス用に用意しますã?
1939 * 初期値は、false ですã?(false)
1940 *
1941 * @og.rev 3.5.4.8 (2004/02/23) 新規追åŠ?
1942 *
1943 * @param flag パラメーターファイルを使用 [true:使用する/false:使用しない]
1944 */
1945 public void setUseParam( final String flag ) {
1946 useParam = nval( getRequestParameter(flag),useParam );
1947 }
1948
1949 /**
1950 * 【TAG】Consistency キー による整合æ?チェãƒ?‚¯を行うかどã�?�‹[true/false]を指定しまã�?初期値:true)ã€?
1951 *
1952 * @og.tag
1953 * 検索結果ã‚?DBTableModel にセãƒ?ƒˆする時に、整合æ?キーの Consistency キーã‚?
1954 * 作æ?しますã?これをã?Viewタグでhidden出力しておき、Entryタグでãƒ??タ書き換え時に
1955 * 整合æ?チェãƒ?‚¯を行いますã?これは、IEの戻るã?タンで戻ったå?合に、画面の
1956 * キーと検索結果の DBTableModel のå†?®¹がä¸??しなã�??合ã?エラーチェãƒ?‚¯に
1957 * なりますã?
1958 * こã?属æ?は、何らかã?ケースで、このエラーチェãƒ?‚¯を行いたくなã�??合にã€?
1959 * false に設定することで、整合æ?チェãƒ?‚¯を行いませんã€?
1960 * 初期値は、true(整合æ?チェãƒ?‚¯を行う)ですã?
1961 *
1962 * @og.rev 3.5.5.7 (2004/05/10) 新規登録
1963 *
1964 * @param ck Consistency Key の使用するかどã�?�‹ [true:行う/false:行わない]
1965 */
1966 public void setUseConsistency( final String ck ) {
1967 useConsistency = nval( getRequestParameter( ck ),useConsistency );
1968 }
1969
1970 /**
1971 * 【TAG】テーブルのバックグラウンドカラーの入れ替えã?サイクルをセãƒ?ƒˆしまã�?初期値はã€?:ゼブラ)ã€?
1972 *
1973 * @og.tag
1974 * 0(ゼブラなã�?ã€?1(ワーニング)ã€?2以ä¸?エラー)ã€?(ゼブラ)ã€?以ä¸?行数まとã‚?
1975 * 初期値はã€?(ゼブラ)ですã?
1976 *
1977 * @og.rev 3.5.6.2 (2004/07/05) 新規追åŠ?
1978 *
1979 * @param sycle 0(ゼブラなã�?ã€?1(ワーニング)ã€?2以ä¸?エラー)ã€?(ゼブラ)ã€?以ä¸?行数まとã‚?
1980 */
1981 public void setBgColorCycle( final String sycle ) {
1982 bgColorCycle = nval( getRequestParameter( sycle ),bgColorCycle );
1983 }
1984
1985 /**
1986 * 【TAG】テーブルのバックグラウンドカラーのクラスにæŒ?®šするカラãƒ?��を指定しますã?
1987 *
1988 * @og.tag
1989 * 通常のゼブラ模様ã?、tr 属æ?のクラスæŒ?®šとして、row_0、row_1 が指定されますã?
1990 * そã?代わりに、ここでæŒ?®šされたカラãƒ??値がクラス属æ?として設定されますã?
1991 * (æŒ?®šするã?はカラãƒ?��ですã?行単位にクラス属æ?の値を変えることが可能ですã?)
1992 * 選択è¡?row_sel)は、優先して使用されますã?
1993 * 出力されるクラス名ã?ã€?row_" + 属æ?値 になりますã?
1994 *
1995 * @og.rev 5.1.8.0 (2010/07/01) 新規追åŠ?
1996 *
1997 * @param clsClm ゼブラ模様ã?替わりにæŒ?®šするクラスをæ?納したカラãƒ?��
1998 */
1999 public void setBgColorClsClm( final String clsClm ) {
2000 bgColorClsClm = nval( getRequestParameter( clsClm ),bgColorClsClm );
2001 }
2002
2003 /**
2004 * 【TAG】スクロールバã?用のDIV要ç´?‚’出力するかどã�?�‹[true/false]を指定しまã�?
2005 * (初期値:VIEW_USE_SCROLLBAR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SCROLLBAR}])ã€?
2006 *
2007 * @og.tag
2008 * スクロールバã?対応する為、テーブルの先é?に、DIV要ç´?‚’出力しますã?
2009 * (初期値:ユーザー定数のVIEW_USE_SCROLLBAR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SCROLLBAR}])ã€?
2010 * ※ 互換性の関係よりã?false になってã�?�¾すã?
2011 *
2012 * @og.rev 3.5.6.3 (2004/07/12) 新規追åŠ?
2013 *
2014 * @param useBar スクロールバã?用のDIV要ç´?‚’出力するかどã�?�‹[true:出力すã‚?false:しない]
2015 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_SCROLLBAR
2016 */
2017 public void setUseScrollBar( final String useBar ) {
2018 useScrollBar = nval( getRequestParameter( useBar ),useScrollBar );
2019 }
2020
2021 /**
2022 * 【TAG】viewLink ã‚?viewMarker のæƒ??取り込みを制御する(初期値は、NEW,RENEW,REVIEW,RESET)ã€?
2023 *
2024 * @og.tag
2025 * viewLink ã‚?viewMarker のæƒ??取り込みは、command がã?NEW,RENEW,REVIEW,RESET
2026 * の場合ã?み行われてã�?�¾すã?
2027 * こã?属æ?でã€?true" を指定すると、コマンドに無関係に取り込みますã?
2028 * "false" の場合ã?、form にキャãƒ?‚·ュしてã�?‚‹リンク、ã?ーカーを削除しますã?
2029 * 取り込み時に、viewLink ã‚?viewMarker オブジェクトが存在しなã�??合ã?ã€?
2030 * 何もしません。これã?、viewMarker オブジェクトè?身がすでに設定済みの場å�?VIEWなど)
2031 * NEXTやPREVでは、viewMarkerオブジェクトã?、リクエスト変数に設定されなã�?‚ºですã?
2032 * こã?場合ã?、登録しませんがã?既存ã? viewMarkerオブジェクトを持ってã�?‚‹はずなのでã€?
2033 * なにも設定しなくてã‚?viewMarker は適用されますã?
2034 * 初期値は、NEW,RENEW,REVIEW,RESET ですã?
2035 *
2036 * @og.rev 3.6.0.4 (2004/10/14) 新規追åŠ?
2037 *
2038 * @param load viewLink ã‚?viewMarker のæƒ??取り込みを制御する
2039 */
2040 public void setLoadMarker( final String load ) {
2041 loadMarker = nval( getRequestParameter( load ),loadMarker );
2042 }
2043
2044 /**
2045 * 【TAG】SEL_ROW機è?[true:有効/false:無効]を指定しまã�?
2046 * (初期値:VIEW_USE_SELECTED_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELECTED_ROW}])ã€?
2047 *
2048 * @og.tag
2049 * SEL_ROW機è?は、戻るリンクから戻ったときや、登録したときにã€?�¸択してã�?�Ÿ
2050 * 行番号ã‚??先にクリãƒ?‚¯された行番号を返す機è?で、SEL_ROW リクエストに設定された
2051 * 行がマã?カーされますã?こã?機è?の有効(true)/無効(false)を指定しますã?
2052 * こã?属æ?でã€?true" を指定すると、有効になりますã?
2053 * "false" の場合ã?、無効ですã?
2054 * (初期値:ユーザー定数のVIEW_USE_SELECTED_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELECTED_ROW}])ã€?
2055 *
2056 * @og.rev 3.7.1.1 (2005/05/23) 新規追åŠ?
2057 *
2058 * @param selRow SEL_ROW機è?の有効/無効を指å®?[true:有効/false:無効]
2059 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_SELECTED_ROW
2060 */
2061 public void setUseSelectedRow( final String selRow ) {
2062 useSelectedRow = nval( getRequestParameter( selRow ),useSelectedRow );
2063 }
2064
2065 /**
2066 * 【TAG】SEL_ROW使用時ã?選択行色変更[true:有効/false:無効]を指定しまã�?
2067 * (初期値:VIEW_USE_SELROW_COLOR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELROW_COLOR}])ã€?
2068 *
2069 * @og.tag
2070 * SEL_ROW機è?は、現在選択されてã�?‚‹行まで、スクロールする機è?ですが、そのときã?
2071 * 選択行にマã?カーするかどã�?�‹をã?æŒ?®šしますã?
2072 * こã?属æ?でã€?true" を指定すると、有効になりますã?
2073 * "false" の場合ã?、無効ですã?
2074 * (初期値:ユーザー定数のVIEW_USE_SELROW_COLOR[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_SELROW_COLOR}])ã€?
2075 *
2076 * @og.rev 3.7.1.1 (2005/05/31) 新規追åŠ?
2077 *
2078 * @param selRowColor SEL_ROW使用時ã?選択行色変更の有効/無効を指å®?[true:有効/false:無効]
2079 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_SELROW_COLOR
2080 */
2081 public void setUseSelRowColor( final String selRowColor ) {
2082 useSelRowColor = nval( getRequestParameter( selRowColor ),useSelRowColor );
2083 }
2084
2085 /**
2086 * 【TAGã€?処ç�?™‚間やペã?ジサイズなどのæƒ??出力[true:有効/false:無効]を指定しまã�?初期値:true)ã€?
2087 *
2088 * @og.tag
2089 * ViewForm で、CustomData などの 非HTML表示ビューを使用する場合ã?
2090 * æœ?¾Œに、å?ç�?™‚間とペã?ジサイズ(NEXT時に使用)などのæƒ??をã?hidden で
2091 * 出力してã�?�¾すが、これを制御するフラグをセãƒ?ƒˆしますã?
2092 * true(有効)にすると、これらのHTMLがå?力されますã?false にすると、å?力されませんã€?
2093 * 初期値は、true(有効) ですã?
2094 *
2095 * @og.rev 3.7.1.1 (2005/05/23) 新規追åŠ?
2096 *
2097 * @param useTag æƒ??出力ã?有効/無効を指å®?[true:有効/false:無効]
2098 */
2099 public void setUseAfterHtmlTag( final String useTag ) {
2100 useAfterHtmlTag = nval( getRequestParameter( useTag ),useAfterHtmlTag );
2101 }
2102
2103 /**
2104 * 【TAG】設定å?に "_" が含まれてã�?‚‹場合にレンãƒ?ƒ©ーを使用するカラãƒ?‚’CSV形式でæŒ?®šしますã?
2105 *
2106 * @og.tag
2107 * これは、従来の カラãƒ?®š義の WRITABLE エãƒ?‚£ターと同等ã?働きを行うように
2108 * カラãƒ?±žæ?を指定しますã?
2109 * WRITABLE エãƒ?‚£ターは、設定å?にアンãƒ??バã? "_" が含まれてã�?‚‹場合にã€?
2110 * そã?値を書込み禁止にする機è?ですã?これは、エãƒ?‚£ター自身がå?を判断して
2111 * 書き込み許可か禁止かを判断してã�?�¾すã?
2112 * こã?動きを汎用çš?�«するため、指定ã?カラãƒ?‚’カンマ区åˆ?‚Šæ–??CSV)でæŒ?®?
2113 * することにより、レンãƒ?ƒ©ーとエãƒ?‚£ターを設定å?によって動的にåˆ?‚Š替える
2114 * 機è?を実現しますã?
2115 * そã?場合ã?表示/編é›?�¨もに、å?頭のアンãƒ??バã?は削除されますã?
2116 * またã?全カラãƒ?�«つã�?�¦、有効にする場合ã?、writableControl="*" を設定しますã?
2117 *
2118 * @og.rev 3.8.0.9 (2005/10/17) 新規追åŠ?
2119 *
2120 * @param wrtCtrl 書き込み制御を行いたいカラãƒ?‚’CSV形式でæŒ?®?
2121 */
2122 public void setWritableControl( final String wrtCtrl ) {
2123 writableControl = nval( getRequestParameter( wrtCtrl ),writableControl );
2124 }
2125
2126 /**
2127 * 【TAG】HILIGHT_ROW機è?[true:有効/false:無効]を指定しまã�?
2128 * (初期値:VIEW_USE_HILIGHT_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_ROW}])ã€?
2129 *
2130 * @og.tag
2131 * HILIGHT_ROW機è?は、チェãƒ?‚¯ボックスã‚?ƒ©ジオボタンで行選択した際に、どの行が選択されたã�?
2132 * 判るよã�?�«行ã?ハイライト表示を行う機è?ですã?
2133 * さらに、行ã?任意ã?ç®?‰€をクリãƒ?‚¯してもã?チェãƒ?‚¯がå?りã?ハイライト表示されますã?
2134 * こã?属æ?でã€?true" を指定すると、有効になりますã?
2135 * "false" の場合ã?、無効ですã?
2136 * (初期値:ユーザー定数のVIEW_USE_HILIGHT_ROW[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_ROW}])ã€?
2137 *
2138 * @og.rev 3.8.6.0 (2006/09/29) HILIGHT_ROW機è?の有効/無効を指定しますã?
2139 *
2140 * @param hilightRow HILIGHT_ROW機è?の有効/無効を指å®?[true:有効/false:無効]
2141 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_ROW
2142 */
2143 public void setUseHilightRow( final String hilightRow ) {
2144 useHilightRow = nval( getRequestParameter( hilightRow ),useHilightRow );
2145 }
2146
2147 /**
2148 * 【TAG】ogPopup で検索結果の値を返すキーをã?CSV形式でæŒ?®šしますã?
2149 *
2150 * @og.tag
2151 * popup の検索結果を返す画面で、結果のラジオボタンにイベントセãƒ?ƒˆしますã?
2152 * こã?場合ã?オープンもとのwindow に値を返しますが、そのキーをCSV形式で
2153 * æŒ?®šしますã?
2154 * なおã?こã?メソãƒ?ƒ‰は、ä¸?¦§表示(HTMLTable)関係ã?ビューのみでサポã?トして
2155 * ã�?�¾すが、チェãƒ?‚¯メソãƒ?ƒ‰の関係で、それ以外ã?ビューに適用してもç´??ã‚?
2156 * するようにしますã?(エラーにしません)
2157 *
2158 * @og.rev 3.8.6.1 (2006/10/20) 新規追åŠ?
2159 *
2160 * @param rtnKeys ogPopupで値を返すカラãƒ?–‡字å?(CSV形å¼?
2161 */
2162 public void setPopupReturnKeys( final String rtnKeys ) {
2163 popupReturnKeys = nval( getRequestParameter( rtnKeys ),popupReturnKeys );
2164 }
2165
2166 /**
2167 * 【TAG】table要ç´?�«対して class 属æ?を設定しまã�?初期値:viewTable)ã€?
2168 *
2169 * @og.tag
2170 * Javaのè¨?ªž使用上ã?class で作æ?できなã�?�Ÿめã?代用として
2171 * clazz を使用してã�?‚‹ã€?
2172 * html で作æ?される属æ?はã€?class で作æ?されるã?
2173 * 初期値はã€?viewTable" ですã?
2174 *
2175 * @og.rev 4.0.0.0 (2007/04/16) 新規追åŠ?
2176 *
2177 * @param cls class属æ?を表す文字å?
2178 */
2179 public void setClazz( final String cls ) {
2180 clazz = nval( getRequestParameter( cls ),clazz );
2181 }
2182
2183 /**
2184 * 【TAG】ビューの高さを指定しますã?
2185 *
2186 * @og.tag
2187 * id=posDivのDIV要ç´?�«高さを指定しますã?
2188 * javascriptからこã?高さを見てビューの高さを決定しますã?
2189 * 単位もæŒ?®šして下さã�??
2190 *
2191 * @og.rev 4.2.0.0 (2008/03/18) 新規追åŠ?
2192 *
2193 * @param high class属æ?を表す文字å?
2194 */
2195 public void setHeight( final String high ) {
2196 height = nval( getRequestParameter( high ), height );
2197 }
2198
2199 /**
2200 * 【TAG】ビューのå¹?‚’æŒ?®šしますã?
2201 *
2202 * @og.tag
2203 * id=posDivのDIV要ç´?�«å¹?‚’æŒ?®šしますã?
2204 * javascriptからこã?値を見てビューのå¹?‚’決定しますã?
2205 * 単位もæŒ?®šして下さã�??(%æŒ?®š推奨)
2206 *
2207 * @og.rev 4.2.0.0 (2008/03/18) 新規追åŠ?
2208 *
2209 * @param wide æŒ?®šするビューのå¹?
2210 */
2211 public void setWidth( final String wide ) {
2212 width = nval( getRequestParameter( wide ), width );
2213 }
2214
2215 /**
2216 * 【TAG】ファイルãƒ?‚¦ンロード時の抜å?カラãƒ?��(CSV形å¼?を指定しますã?
2217 *
2218 * @og.tag
2219 * fileUDのファイル抜å?時ã?カラãƒ?‚’カンマ形式でæŒ?®šしますã?
2220 *
2221 * @og.rev 4.3.0.0 (2008/07/04) 新規追åŠ?
2222 *
2223 * @param dwnClms 抜å?カラãƒ?��(CSV形å¼?
2224 */
2225 public void setFileDwnClms( final String dwnClms ) {
2226 fileDwnClms = nval( getRequestParameter( dwnClms ), fileDwnClms );
2227 }
2228
2229 /**
2230 * 【TAG】編é›?¡Œã?みを表示するかをæŒ?®šしますã?
2231 *
2232 * @og.tag
2233 * 編é›?¡Œã?みを表示するかをæŒ?®šしますã?trueがセãƒ?ƒˆされたå?合ã?編é›?¡?改廃Cがつã�?�¦ã�?‚‹è¡?
2234 * のみがå?力されますã?
2235 *
2236 * @og.rev 4.3.1.0 (2008/09/08)
2237 *
2238 * @param sne 編é›?¡Œã?みをå?力するか
2239 */
2240 public void setSkipNoEdit( final String sne ) {
2241 skipNoEdit = nval( getRequestParameter( sne ), skipNoEdit );
2242 }
2243
2244 /**
2245 * 【TAGã€?通常は使ã�?�¾せん)画面遷移を行わなã�?½¢式ã?登録方法を使用するかをæŒ?®šしますã?
2246 *
2247 * @og.tag
2248 * 画面遷移なしã?登録を行うかどã�?�‹を指定しますã?
2249 * trueが指定された場合ã?HTML出力時に、各行に対して、行番号と改廃Cが属æ?æƒ??として付加されますã?
2250 * ここで出力されたæƒ??をå?に、JavaScriptの入れ替えå?ç�?‚’行いますã?
2251 *
2252 * こã?値は、og:headタグで設定å?、またã?前画面からの値を継承するためã€??常、この属æ?ではセãƒ?ƒˆしませんã€?
2253 *
2254 * @og.rev 4.3.3.0 (2008/10/01) 新規追åŠ?
2255 * @og.rev 5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行うã€?
2256 *
2257 * @param noTrnstn 画面遷移を行わなã�?½¢式ã?登録方法を使用するã�?
2258 */
2259 public void setNoTransition( final String noTrnstn ) {
2260 setNoTransitionRequest( nval( getRequestParameter( noTrnstn ), isNoTransitionRequest() ) );
2261 }
2262
2263 /**
2264 * 【TAG】選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするかをæŒ?®šしまã�?
2265 * (初期値:VIEW_USE_HILIGHT_CHECK_ONLY[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_CHECK_ONLY}])ã€?
2266 *
2267 * @og.tag
2268 * 選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするかをæŒ?®šしますã?
2269 * trueの場合ã?チェãƒ?‚¯ボックスのみで有効になりますã?
2270 * falseの場合ã?行å?体ã?å�?¦�ç´?�§有効になりますã?
2271 * trueにした場合ã?チェãƒ?‚¯ボックスが存在しなã�?¡Œに対しては、ハイライトすることはできませんã€?
2272 * (初期値:ユーザー定数のVIEW_USE_HILIGHT_CHECK_ONLY[={@og.value org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_CHECK_ONLY}])ã€?
2273 *
2274 * @og.rev 4.3.7.0 (2009/06/01) 新規追åŠ?
2275 *
2276 * @param hiCkOnly 選択行ハイライトã?制御をチェãƒ?‚¯ボックスのみで有効にするã�?
2277 * @see org.opengion.hayabusa.common.SystemData#VIEW_USE_HILIGHT_CHECK_ONLY
2278 */
2279 public void setUseHilightCheckOnly( final String hiCkOnly ) {
2280 useHilightCheckOnly = nval( getRequestParameter( hiCkOnly ), useHilightCheckOnly );
2281 }
2282
2283 /**
2284 * 【TAG】ä¸?‹¬入力カラãƒ??アシスト機è?を利用するカラãƒ?��をã?カンマ区åˆ?‚Šで与えますã?
2285 *
2286 * @og.tag
2287 * これは、カラãƒ??書き込み時に、ä¸?‹¬入力可能なカラãƒ?‚’ヘッãƒ??に表示しã?
2288 * ä¸?‹¬登録できる機è?を提供しますã?
2289 * こã?機è?は、jsp/common/bulkSet.js JavaScript とともに提供されますã?
2290 * IE につã�?�¦は、クリãƒ??ボã?ドも利用できますã?Ctrl-C と Ctrl-V でそれぞれ
2291 * ä¸??のカラãƒ??値の取り出しと書き込みが可能になりますã?
2292 * (プルãƒ?‚¦ンの場合ã?オプションに上記が追åŠ?�•れまã�?
2293 * "*" を指定すると、すべてのカラãƒ?‚’(columnBulkSet)æŒ?®šしたことになりますã?
2294 *
2295 * シスãƒ?ƒ リソースで、VIEW_USE_DEFAULT_BULKSET ã‚?true に設定すると、å?期å?ã�?"*"
2296 * になりますã?で、å?別の view に設定しなくてもこの機è?が使用できるようになりますã?
2297 *
2298 * こã?機è?はä¸?‹¬入力ã?手間削減が目çš?�ªので、selectedType ã�?radio の場合ã?ã€?
2299 * こã?機è?は無効になりますã?
2300 *
2301 * @og.rev 5.2.1.0 (2010/10/01) 新規作æ?
2302 * @og.rev 5.4.4.0 (2012/02/01) コメント追åŠ?
2303 *
2304 * @param columnName 例ï¼?OYA,KO,HJO,SU,DYSET,DYUPD"
2305 */
2306 public void setColumnBulkSet( final String columnName ) {
2307 columnBulkSet = nval( getRequestParameter(columnName),columnBulkSet );
2308 }
2309
2310 /**
2311 * タグの名称をã?返しますã?
2312 * 自åˆ??身のクラス名よりã?自動的に取り出せなã�?�Ÿめã?こã?メソãƒ?ƒ‰をオーバã?ライドしますã?
2313 *
2314 * @og.rev 4.0.0.0 (2005/01/31) 新規追åŠ?
2315 *
2316 * @return タグの名称
2317 */
2318 @Override
2319 protected String getTagName() {
2320 return "view" ;
2321 }
2322
2323 /**
2324 * seqClmTableを使用するかどã�?�‹をチェãƒ?‚¯しまã�?
2325 *
2326 * ここではtableId,scope,é ?›®名などで厳å¯?�«チェãƒ?‚¯を行い、これらがå?のæƒ??と合è?しなã�??合ã?ã€?
2327 * ViewFormTypeの置き換えを行わなã�?‚ˆã�?�«しますã?
2328 *
2329 * @og.rev 5.1.6.0 (2010/05/01) 新規追åŠ?
2330 * @og.rev 5.3.6.0 (2011/06/01) Edit機è?見直しによりメソãƒ?ƒ‰名変更
2331 * @og.rev 5.7.7.3 (2014/06/27) カラãƒ?�Œ存在しなã�??合ã?挙動変更
2332 * @og.rev 5.8.6.0 (2015/04/03) editColumnDisplay
2333 * @og.rev 5.8.7.1 (2015/05/22) エラー時ã?editConfをnullとしておく
2334 *
2335 * @param config DBEditConfigオブジェクãƒ?
2336 */
2337 private void makeEditTable( final DBEditConfig config ) {
2338 String userViewClms = config.getViewClms();
2339 DBLastSql lastSql = (DBLastSql)getSessionAttribute( HybsSystem.DB_LAST_SQL_KEY );
2340 if( lastSql != null && lastSql.isGuiMatch( getGUIInfoAttri( "KEY" ) ) && lastSql.isTableMatch( tableId, getScope() ) ) {
2341 // 1Queryに対してè¤?•°Viewがあるå?å�?左右åˆ?‰²など)、Viewのå�??目定義ã�?|'でåˆ?‰²されてセãƒ?ƒˆされてã�?�¾すã?
2342 int vwCnt = nval( (String)getRequestAttribute( "h_vwCnt" ), 0 );
2343 String[] clmGroup = StringUtil.csv2Array( userViewClms, '|' );
2344 if( clmGroup.length > vwCnt ) {
2345 // AAA,!BBB,CCC,DDD,!EEE から!がつã�?�Ÿカラãƒ??みを取り除ã�?!があるé?目は非表示)
2346 String thisViewClms = ( "," + clmGroup[vwCnt] ).replaceAll( ",![^,]*", "" );
2347 // 行カウントカラãƒ?‚’表示するã€?
2348 if( table.getColumnNo( "rowCount", false ) >= 0 ) {
2349 thisViewClms += ",rowCount";
2350 }
2351 if( thisViewClms.length() > 0 ) {
2352 thisViewClms = thisViewClms.substring( 1 );
2353 }
2354 String[] clm = StringUtil.csv2Array( thisViewClms );
2355 boolean isUse = true;
2356 for( int i=0; i<clm.length; i++ ) {
2357 if( table.getColumnNo( clm[i], false ) < 0 ) {
2358 isUse = false;
2359 editConf = null; // 5.8.7.1 (2015/05/22)
2360 jspPrint( getResource().getLabel( editWarnwMsg, new String[] { getResource().getLabel(clm[i]) } ) + HybsSystem.BR ); // 5.7.7.3 (2014/06/27)
2361 break;
2362 }
2363 }
2364 if( isUse ) {
2365 viewFormType = "HTMLSeqClmTable";
2366 // columnDisplay = thisViewClms;
2367 editColumnDisplay = thisViewClms; // 5.8.6.0 (2015/04/03) 後からcolumnDisplayセãƒ?ƒˆ
2368 clmSeqDisplay = thisViewClms;
2369 // noDisplay = null;
2370 setRequestAttribute( "h_vwCnt", String.valueOf( vwCnt+1 ) );
2371 }
2372 }
2373 }
2374 }
2375
2376 /**
2377 * Viewで表示したé ?›®をDBLastSqlにセãƒ?ƒˆしますã?
2378 *
2379 * ここではtableId,scopeなどで厳å¯?�«チェãƒ?‚¯を行い、これらがå?のæƒ??と合è?しなã�??合ã?ã€?
2380 * DBLastSqlへのセãƒ?ƒˆを行わなã�?‚ˆã�?�«しますã?
2381 *
2382 * @og.rev 5.1.6.0 (2010/05/01) 新規追åŠ?
2383 * @og.rev 5.3.9.0 (2011/09/01) ヘッãƒ??ソートを行ったå?合ã?編é›?¯¾象カラãƒ?�Œ正しく表示されなã�?ƒ�グを修正
2384 */
2385 private void setViewClms() {
2386 // 4.3.0.0 (2008/07/04) fileUD 対応ã?抜き出すカラãƒ?‚’æŒ?®šしますã?
2387 DBLastSql lastSql = (DBLastSql)getSessionAttribute( HybsSystem.DB_LAST_SQL_KEY );
2388 if( lastSql != null ) {
2389 String guikey = getGUIInfoAttri( "KEY" );
2390 if( lastSql.isGuiMatch( guikey ) && lastSql.isTableMatch( tableId, getScope() ) && lastSql.isViewEditable() ) {
2391 // 5.1.6.0 (2010/05/01) fileDwnClmsが指定されなã�??合ã?、Viewで表示されたカラãƒ?‚’セãƒ?ƒˆ
2392 if( form.isEditable() ) {
2393
2394 // 5.3.9.0 (2011/09/01) リクエストに対して初めて処ç�?�™るå?合に対象カラãƒ?‚’ä¸?—¦クリアするã€?
2395 boolean vwBln = nval( (String)getRequestAttribute( "h_vwBln" ), false );
2396 if( !vwBln ) {
2397 lastSql.setViewClmNames( null );
2398 lastSql.setClmNames( null );
2399 setRequestAttribute( "h_vwBln", "true" );
2400 }
2401
2402 String clmNames = lastSql.getViewClmNames();
2403 if( clmNames == null || clmNames.length() == 0 ) {
2404 clmNames = nval( fileDwnClms, form.getViewClms() );
2405 }
2406 else {
2407 // 1Queryに対してè¤?•°Viewがあるå?å�?左右åˆ?‰²など)、Viewのå�??目定義ã�?|'でåˆ?‰²されてセãƒ?ƒˆしますã?
2408 clmNames += "|" + nval( fileDwnClms, form.getViewClms() );
2409 }
2410 lastSql.setViewClmNames( clmNames );
2411 lastSql.setClmNames( clmNames.replace( "|", "," ) );
2412 setSessionAttribute( HybsSystem.DB_LAST_SQL_KEY,lastSql );
2413 }
2414 else {
2415 lastSql.setViewNotEditable();
2416 }
2417 }
2418 }
2419 }
2420
2421 /**
2422 * 【TAGã€?通常使ã�?�¾せん)Viewに関するæƒ??をセãƒ?‚·ョンにæƒ??を登録するかどã�?�‹を指定しまã�?初期値:true)ã€?
2423 *
2424 * @og.tag
2425 * 同ä¸?”»面IDで、è¤?•°のViewを表示する場合に利用しますã?
2426 * View関連のæƒ??をセãƒ?‚·ョンに登録し利用してã�?�¾すが、è¤?•°のViewが存在する場合に前ã?æƒ??が上書きされてしまã�?�¾すã?
2427 * è¤?•°のViewを利用する際に、メイン以外ã?Viewの値をfalseにæŒ?®šする事でセãƒ?‚·ョンへの保存をしませんã€?
2428 * (QueryTagのmainTransも同時に設定するか検討してください??
2429 *
2430 * 現段階では、セãƒ?‚·ョン保存抑制を行う値はstartNoのみですã?
2431 *
2432 * @og.rev 5.7.6.1 (2010/05/09) 新規作æ?
2433 *
2434 * @param flag メイントランザクションかどã�?�‹
2435 */
2436 public void setMainView( final String flag ) {
2437 isMainView = nval( getRequestParameter( flag ),isMainView );
2438 }
2439
2440 /**
2441 * シリアライズ用のカスタãƒ?‚·リアライズ書き込みメソãƒ?ƒ‰
2442 *
2443 * @og.rev 4.0.0.0 (2006/09/31) 新規追åŠ?
2444 * @serialData ä¸?ƒ¨のオブジェクトã?、シリアライズされませんã€?
2445 *
2446 * @param strm ObjectOutputStreamオブジェクãƒ?
2447 * @throws IOException 入出力エラーが発生したå?å�?
2448 */
2449 private void writeObject( final ObjectOutputStream strm ) throws IOException {
2450 strm.defaultWriteObject();
2451 }
2452
2453 /**
2454 * シリアライズ用のカスタãƒ?‚·リアライズ読み込みメソãƒ?ƒ‰
2455 *
2456 * ここでは、transient 宣è¨?�•れたå†?ƒ¨変数のå†??初期化がå¿?¦�なフィールドã?み設定しますã?
2457 *
2458 * @og.rev 4.0.0.0 (2006/09/31) 新規追åŠ?
2459 * @serialData ä¸?ƒ¨のオブジェクトã?、シリアライズされませんã€?
2460 *
2461 * @param strm ObjectInputStreamオブジェクãƒ?
2462 * @see #release2()
2463 * @throws IOException シリアライズに関する入出力エラーが発生したå?å�?
2464 * @throws ClassNotFoundException クラスを見つけることができなかったå?å�?
2465 */
2466 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
2467 strm.defaultReadObject();
2468 }
2469
2470 /**
2471 * こã?オブジェクトã?æ–?—å?表現を返しますã?
2472 * 基本çš?�«ãƒ?ƒ�ãƒ?‚°目çš?�«使用しますã?
2473 *
2474 * @return こã?クラスのæ–?—å?表現
2475 */
2476 @Override
2477 public String toString() {
2478 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
2479 .println( "VERSION" ,VERSION )
2480 .println( "tableId" ,tableId )
2481 .println( "viewFormId" ,viewFormId )
2482 .println( "viewFormType" ,viewFormType )
2483 .println( "viewLinkId" ,viewLinkId )
2484 .println( "viewMarkerId" ,viewMarkerId )
2485 .println( "command" ,command )
2486 .println( "startNo" ,startNo )
2487 .println( "tempStartNo" ,tempStartNo )
2488 .println( "pageSize" ,pageSize )
2489 .println( "pagePlus" ,pagePlus )
2490 .println( "columnWritable" ,columnWritable )
2491 .println( "noWritable" ,noWritable )
2492 .println( "columnDisplay" ,columnDisplay )
2493 .println( "noDisplay" ,noDisplay )
2494 .println( "columnGroup" ,columnGroup )
2495 .println( "noMessage" ,noMessage )
2496 .println( "writable" ,writable )
2497 .println( "checked" ,checked )
2498 .println( "skip" ,skip )
2499 .println( "rowspan" ,rowspan )
2500 .println( "selectedType" ,selectedType )
2501 .println( "numberType" ,numberType )
2502 .println( "optTypeAttri" ,optTypeAttri )
2503 .println( "backLinkCount" ,backLinkCount )
2504 .println( "headerSkipCount" ,headerSkipCount )
2505 .println( "bodyString" ,bodyString )
2506 .println( "useCheckControl" ,useCheckControl )
2507 .println( "useTableSorter" ,useTableSorter )
2508 .println( "useParam" ,useParam )
2509 .println( "useConsistency" ,useConsistency )
2510 .println( "bgColorCycle" ,bgColorCycle )
2511 .println( "useScrollBar" ,useScrollBar )
2512 .println( "sortKeys" ,sortKeys )
2513 .println( "loadMarker" ,loadMarker )
2514 .println( "useSelectedRow" ,useSelectedRow )
2515 .println( "useSelRowColor" ,useSelRowColor )
2516 .println( "useAfterHtmlTag" ,useAfterHtmlTag )
2517 .println( "writableControl" ,writableControl )
2518 .println( "hight" ,height )
2519 .println( "width" ,width )
2520 .println( "skipNoEdit" ,skipNoEdit )
2521 .println( "noTransition" ,noTransition )
2522 .println( "useHilightCheckOnly",useHilightCheckOnly)
2523 .println( "COMMAND_LIST" ,COMMAND_LIST )
2524 .println( "Other..." ,getAttributes().getAttribute() )
2525 .fixForm().toString() ;
2526 }
2527 }