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 org.opengion.hayabusa.common.HybsSystem;
019 import org.opengion.hayabusa.resource.GUIInfo;
020 import org.opengion.hayabusa.resource.RoleMode ;
021 import org.opengion.hayabusa.db.DBLastSql;
022 import org.opengion.fukurou.util.Attributes;
023 import org.opengion.fukurou.util.XHTMLTag;
024 import org.opengion.fukurou.util.StringUtil ;
025
026 import static org.opengion.fukurou.util.StringUtil.nval ;
027
028 /**
029 * ファイルア??ロー??ンロードリンクを作?するタグで?通常は result_info.jsp に?み)?
030 *
031 * 画面検索した結果を??ンロードしたり、ア??ロードする機?は、画面リソースの
032 * ロール制御で管?て?す?
033 * ただし??ォルトで、以下?制限が掛かって?す?
034 *
035 * ファイル?ンロー?
036 * ・command="NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW" のみ
037 * ファイルア??ロー?
038 * ・command="COPY|INSERT" のみ
039 *
040 * また?typeDownload="true" にするとDownload 処?行う為の前??実施します?
041 * Download 処?行うには、指定?画面(呼び出し?)と、抜き?した時?
042 * DBTableModel が??して?か判定します?
043 * また?DBTableModel が存在しな??また?、不備な場?オーバ?フロー)は?
044 * ?SQLを実行する?があり、そもそも?抜?処?出来な?態では?
045 * エラーを返す?があります?
046 * それら???のDownload 処?行うかど?を指定します?
047 * true の場合?session の HybsSystem.DB_LAST_SQL_KEY に格納された
048 * DBLastSql オブジェクトを取得し、scope ?request また?、overflow ?
049 * true の場合に、BODY部を実行します?(通常、queryタグを記述します?)
050 * query の出力?は、scope ?request にします?
051 * それ以外?、tableId から取り出した DBTableModel を?scope = "request"
052 * に(アドレスのみ)コピ?します?
053 * writeTable タグでは、scope = "request" から、DBTableModel を取り?します?
054
055 * @og.formSample
056 * ●形式:?ユーザーが直接?込?とはありません?
057 * ●body?あ?EVAL_BODY_BUFFERED:BODYを評価し?{@XXXX} を解析しま?
058 *
059 * ●Tag定義??
060 * <og:fileUD
061 * command 【TAG】command を指定しま?
062 * downloadImg 【TAG】ダウンロード時のアイコンを指定しま?初期値:"{@SYS.JSP}/image/fileDownload.gif")
063 * downloadJsp 【TAG】ダウンロード時の呼び出しJSPを指定しま?初期値:"{@SYS.JSP}/common/fileDownload.jsp")
064 * uploadImg 【TAG】ア??ロード時のアイコンを指定しま?初期値:"{@SYS.JSP}/image/fileUpload.gif")
065 * uploadJsp 【TAG】ア??ロード時の呼び出しJSPを指定しま?初期値:"{@SYS.JSP}/common/fileUpload.jsp")
066 * imgWidth 【TAG】アイコン?イズ(px)を指定しま?初期値:20px)
067 * imgHeight 【TAG】アイコン高さサイズ(px)を指定しま?初期値:20px)
068 * filename 【TAG】ダウンロード時ファイル名を?しま?初期値:"{@GUI.LABEL}.xls")
069 * roles 【TAG】ロールズをセ?しま?
070 * target 【TAG】ダウンロード文書を表示させるフレー??また?ウィンドウの名前を指定しま?
071 * errorMsg 【TAG】ダウンロード?来な??合?エラーメ?ージIDを指定しま?初期値:ERR0028)
072 * typeDownload 【TAG】Download 処?行うかど?を指定しま?初期値:false)
073 * useEditLink 【TAG】編?ンク自体を出すかど?ど?(初期値:true)
074 * editImg 【TAG】編?イコンを指定しま?初期値:"{@SYS.JSP}/image/edit.png")
075 * clmEdit 【TAG】編?にカラ??ブを表示するかど?(初期値:true)
076 * debug 【TAG】デバッグ??を?力するかど?[true/false]を指定しま?初期値:false)
077 * > ... Body ...
078 * </og:fileUD>
079 *
080 * ●使用?
081 * <og:fileUD command="{@command}" />
082 *
083 * <og:fileUD
084 * command = command設?(?ンロー?"NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW" ? ア??ロー?"COPY|INSERT")
085 * [ downloadImg ] = "{@SYS.JSP}/image/fileDownload.gif" ?ンロード時のアイコン
086 * [ downloadJsp ] = "{@SYS.JSP}/common/fileDownload.jsp" ?ンロード時の呼び出しJSP
087 * [ uploadImg ] = "{@SYS.JSP}/image/fileUpload.gif" ア??ロード時のアイコン
088 * [ uploadJsp ] = "{@SYS.JSP}/common/filePopup.jsp" ア??ロード時の呼び出しJSP
089 * [ imgWidth ] = "20px" アイコン?イズ(px)
090 * [ imgHeight ] = "20px" アイコン高さサイズ(px)
091 * [ filename ] = "{@GUI.LABEL}.xls" ?ンロード時ファイル?
092 * [ roles ] = "GE|DOC" アクセスロールズ
093 * [ target ] = "_blank" ?ンロードファイルを開くターゲ?
094 * [ errorMsg ] = "ERR0042" エラーメ?ージID
095 * [ typeDownload] = "false/true" Download 処?行うかど?(初期値:false)
096 * />
097 *
098 * @og.group ファイルア??ロー??ンロー?
099 *
100 * @og.rev 4.3.0.0 (2008/07/04) 新規追?
101 * @og.rev 5.7.4.1 (2014/03/15) エラーメ?ージ変更
102 *
103 * @version 4.0
104 * @author Kazuhiko Hasegawa
105 * @since JDK5.0,
106 */
107 public class FileUDTag extends CommonTagSupport {
108 //* こ?プログラ??VERSION??を設定します? {@value} */
109 private static final String VERSION = "5.7.5.0 (2014/04/04)" ;
110
111 private static final long serialVersionUID = 575020140404L ;
112
113 private String sysJsp = HybsSystem.sys( "JSP" );
114
115 private String command = null; // ?ンロー?"NEW|RENEW" 、ア??ロー?"COPY|INSERT"
116 private String downloadImg = sysJsp + "/image/fileDownload.gif"; // ?ンロード時のアイコン
117 private String downloadJsp = sysJsp + "/common/fileDownload.jsp"; // ?ンロード時の呼び出しJSP
118 private String uploadImg = sysJsp + "/image/fileUpload.gif"; // ア??ロード時のアイコン
119 private String uploadJsp = sysJsp + "/common/filePopup.jsp"; // ア??ロード時の呼び出しJSP
120 private String imgWidth = "20px"; // アイコン?イズ(px)
121 private String imgHeight = "20px"; // アイコン高さサイズ(px)
122 private String filename = null; // ?ンロード時ファイル?"{@GUI.LABEL}.xls")
123 private String roles = null; // アクセスロールズ
124 // private String target = "_blank"; // ?ンロードファイルを開くターゲ?
125 private String target = null; // ?ンロードファイルを開くターゲ?
126 // private String errorMsg = "ERR0028"; // 選択されて?せん。も???択しなおして下さ??
127 private String errorMsg = "ERR0042"; // 出力対象??タが見つかりませんでした。?度検索して下さ?? 5.7.4.1 (2014/03/15)
128 private boolean isError = false;
129 private boolean typeDownload = false; // Download 処?行うかど?(初期値:false)
130 private boolean isEdit = true; // 5.6.0.2 (2013/01/19) ロールのisEditとほぼ同等?clmEdit用?
131 private boolean useEditLink = true; // 5.7.5.0 (2014/04/04) 編?ンク自体を出すかど?ど?(初期値:true)
132
133 private static final String EDIT_GAMENID= "14_EDIT"; // 編?面の画面ID
134 private String editImg = sysJsp + "/image/edit.png"; // 編?のアイコン
135
136 /**
137 * Taglibの開始タグが見つかったときに処??doStartTag() ?オーバ?ライドします?
138 *
139 * @og.rev 5.1.6.0 (2010/05/01) 画面?並べ替え対?
140 *
141 * @return 後続????(SKIP_BODY)
142 */
143 @Override
144 public int doStartTag() {
145
146 if( typeDownload ) {
147 DBLastSql lastSql = (DBLastSql)getSessionAttribute( HybsSystem.DB_LAST_SQL_KEY );
148 if( lastSql != null ) {
149 String guikey = getRequest().getParameter( "gamenId" );
150 if( lastSql.isGuiMatch( guikey ) ) {
151
152 // view タグで仕込んだ clmNames を?Request 変数に設定します?
153 setRequestAttribute( "DB.CLM_NAMES" , lastSql.getClmNames() );
154 // 5.1.6.0 (2010/05/01) 画面?並べ替え対?
155 setRequestAttribute( "DB.VIEW_CLM_NAMES" , lastSql.getViewClmNames() );
156 setRequestAttribute( "DB.VIEW_EDITABLE" , Boolean.toString( lastSql.isViewEditable() ) );
157
158 // if( lastSql.isRequest() || lastSql.isOverflow() ) {
159 if( lastSql.isRequest() ) {
160 // 5.1.6.0 (2010/05/01)
161 // String sql = getUserInfo( "USER.LASTSQL" );
162 String sql = getUserInfo( "LASTSQL" );
163 if( sql != null ) {
164 return( EVAL_BODY_BUFFERED ); // Body を評価する? extends BodyTagSupport ?
165 }
166 }
167 String tableId = lastSql.getTableId();
168 setRequestAttribute( HybsSystem.TBL_MDL_KEY, getSessionAttribute( tableId ) );
169 return(SKIP_BODY); // Body を評価しな?
170 }
171 }
172
173 // 処?実行できな??合?エラーを?力します?
174 jspPrint( getResource().getLabel( errorMsg ) );
175 isError = true;
176 }
177
178 return(SKIP_BODY); // Body を評価しな?
179 }
180
181 /**
182 * Taglibの終?グが見つかったときに処??doEndTag() ?オーバ?ライドします?
183 *
184 * @og.rev 4.3.0.1 (2008/08/11) callBack パラメータの設定漏れ修正、引数から見直?
185 * @og.rev 5.1.6.0 (2010/05/01) 帳票画面定義機?対?
186 * @og.rev 5.1.7.0 (2010/06/01) 進??戻る?タンで?xcel出力?タンを??
187 * @og.rev 5.3.6.0 (2011/06/01) Edit機?見直?
188 * @og.rev 5.3.7.0 (2011/07/01) Excel取込で画面IDとアドレスが異なる?合にエラーとなるバグを修正
189 * @og.rev 5.3.7.0 (2011/07/01) 編?面をリサイズできるように対応します?
190 * @og.rev 5.3.7.0 (2011/07/01) PL/SQLを利用した検索でファイル?ンロードが出来るよ?対応します?
191 * @og.rev 5.4.2.0 (2011/12/01) 画面リソースで画面編??のON/OFFを設定できるようにする?
192 * @og.rev 5.5.2.4 (2012/05/16) nullに対する冗長な比?
193 * @og.rev 5.5.5.2 (2012/08/20) 画面リソースのoモード対?
194 * @og.rev 5.5.6.2 (2012/09/24) makeTagのtarget対?
195 * @og.rev 5.6.0.2 (2013/01/19) editモード?isEditコントロール対?
196 * @og.rev 5.7.5.0 (2014/04/04) 編?ンク自体を出すかど?ど?(初期値:true)
197 *
198 * @return 後続????
199 */
200 @Override
201 public int doEndTag() {
202 debugPrint();
203
204 if( isError ) { return(SKIP_PAGE); } // ペ?ジの残りの処?行わな??
205 if( typeDownload ) { return(EVAL_PAGE); } // ペ?ジの残りを評価する?
206
207 boolean isDownload ;
208 if( "NEW".equals( command ) || "RENEW".equals( command )
209 || "FIRST".equals( command ) || "LAST".equals( command )
210 || "PREV".equals( command ) || "NEXT".equals( command )
211 || "VIEW".equals( command ) ) {
212 isDownload = true;
213 }
214 else if( "COPY".equals( command ) || "INSERT".equals( command ) ) {
215 isDownload = false;
216 }
217 else {
218 return(EVAL_PAGE);
219 }
220
221 byte bitMode ;
222 if( roles != null ) {
223 RoleMode roleMode = RoleMode.newInstance( roles );
224 RoleMode userRoleMode = getUser().getRoleMode();
225 bitMode = userRoleMode.getAccessBitMode( roleMode );
226 }
227 else {
228 GUIInfo guiInfo = (GUIInfo)getSessionAttribute( HybsSystem.GUIINFO_KEY );
229 bitMode = guiInfo.getBitMode();
230 }
231
232 if( filename == null ) {
233 filename = getGUIInfoAttri( "LABEL" ) + ".xls" ;
234 }
235 String guikey = getGUIInfoAttri( "KEY" ); // 4.3.0.1 (2008/08/11)
236 if( isDownload ) {
237 if( RoleMode.isDownload( bitMode ) ) {
238 // 4.3.0.1 (2008/08/11) callBack パラメータの設定漏れ修正、引数から見直?
239 // <og:link href="{@SYS.JSP}/common/fileDownload.jsp" target="_blank" useGamenId="false"
240 // keys="filename,h_clms" vals="{@GUI.LABEL}.xls,{@h_clms}" >
241
242 // 5.3.7.0 (2011/07/01) PL/SQLを利用した検索でファイル?ンロードが出来るよ?対応します?
243 String href = downloadJsp + "?command=RENEW&gamenId=" + guikey + "&GAMENID=" + guikey + "&filename=" + StringUtil.urlEncode( filename ) ;
244
245 // jspPrint( makeTag( downloadImg,downloadJsp,"Download File" ) );
246 // jspPrint( makeTag( downloadImg,href,"Download File" ) );
247 jspPrint( makeTag( downloadImg,href,"Download File", target ) ); // 5.5.6.2 (2012/09/24)
248
249 // 5.1.6.0 (2010/05/01) 帳票画面定義機?対?
250 // 5.3.6.0 (2011/06/01) Edit機?見直?
251 GUIInfo editGui = getUser().getGUIInfo( EDIT_GAMENID );
252 // 5.7.5.0 (2014/04/04) 編?ンク自体を出すかど?ど?(初期値:true)
253 // if( editGui != null ) {
254 if( editGui != null && useEditLink ) {
255 String hrefEdit = sysJsp + "/" + editGui.getAddress() + "/"
256 + "?command=NEW&gamenId=" + guikey + "&GAMENID=" + guikey;
257
258 String editName = getRequestValue( "editName" );
259 // 5.5.2.4 (2012/05/16) nullに対する冗長な比?
260 if( editName != null ) {
261 // hrefEdit += "&editName=" + ( editName == null ? "" : editName );
262 hrefEdit += "&editName=" + editName;
263 }
264
265 // 5.4.2.0 (2011/12/01) 画面リソースで画面編??のON/OFFを設定できるようにする?
266 // if( RoleMode.isEdit( bitMode ) ) {
267 if( RoleMode.isEdit( bitMode ) && isEdit ) { // 5.6.0.2(2013/01/09)
268 hrefEdit += "&edit=true";
269 }
270
271 // 5.5.5.2 (2012/08/10) 画面リソースで、画面編??の制限を行えるよ?する
272 if( RoleMode.isFullEdit( bitMode ) ) {
273 hrefEdit += "&fullEdit=true";
274 }
275 else{
276 hrefEdit += "&fullEdit=false";
277 }
278
279 // 5.3.7.0 (2011/07/01) 編?面をリサイズできるように対応します?
280 hrefEdit = "javascript:ogOpen('" + hrefEdit + "',null,null,'width=800px,height=330px,top=350,left=100,resizable=yes',false);";
281 // jspPrint( makeTag( editImg,hrefEdit,"Edit" ) );
282 jspPrint( makeTag (editImg,hrefEdit,"Edit",null) ); // 5.5.6.2 (2012/09/24)
283 }
284 }
285 }
286 else {
287 if( RoleMode.isUpload( bitMode ) ) {
288 // 4.3.0.1 (2008/08/11) callBack パラメータの設定漏れ修正、引数から見直?
289 // <og:link href="{@SYS.JSP}/common/filePopup.jsp" keys="callBack" vals="{@GUI.KEY}/{@SESSION.JSPID}" >
290
291 String jspId = (String)getSessionAttribute( "JSPID" );
292 // 5.3.7.0 (2011/07/01) Excel取込で画面IDとアドレスが異なる?合にエラーとなるバグを修正
293 String callBack = getGUIInfoAttri( "ADDRESS" ) + "/" + jspId + "?GAMENID=" + guikey;
294 callBack = StringUtil.urlEncode( callBack );
295 // String href = uploadJsp + "?callBack=" + guikey + "/" + jspId ;
296 String href = uploadJsp + "?callBack=" + callBack;
297
298 // jspPrint( makeTag( uploadImg,uploadJsp,"Upload File" ) );
299 // jspPrint( makeTag( uploadImg,href,"Upload File" ) );
300 jspPrint( makeTag( uploadImg,href,"Upload File",target ) ); // 5.5.6.2 (2012/09/24)
301 }
302 }
303
304 return(EVAL_PAGE);
305 }
306
307 /**
308 * タグリブオブジェクトをリリースします?
309 * キャ?ュされて再利用される?で、フィールド?初期設定を行います?
310 *
311 * @og.rev 5.7.4.1 (2014/03/15) エラーメ?ージ変更
312 * @og.rev 5.7.5.0 (2014/04/04) useEditLink 追?
313 */
314 @Override
315 protected void release2() {
316 super.release2();
317 sysJsp = HybsSystem.sys( "JSP" );
318 command = null; // ?ンロー?"NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW" 、ア??ロー?"COPY|INSERT"
319 downloadImg = sysJsp + "/image/fileDownload.gif"; // ?ンロード時のアイコン
320 downloadJsp = sysJsp + "/common/fileDownload.jsp"; // ?ンロード時の呼び出しJSP
321 uploadImg = sysJsp + "/image/fileUpload.gif"; // ア??ロード時のアイコン
322 uploadJsp = sysJsp + "/common/filePopup.jsp"; // ア??ロード時の呼び出しJSP
323 imgWidth = "20px"; // アイコン?イズ(px)
324 imgHeight = "20px"; // アイコン高さサイズ(px)
325 filename = null; // ?ンロード時ファイル?"{@GUI.LABEL}.xls")
326 roles = null; // アクセスロールズ
327 // target = "_blank"; // ?ンロードファイルを開くターゲ?
328 target = null; // ?ンロードファイルを開くターゲ?
329 // errorMsg = "ERR0028"; // 選択されて?せん。も???択しなおして下さ??
330 errorMsg = "ERR0042"; // 出力対象??タが見つかりませんでした。?度検索して下さ?? 5.7.4.0 (2014/03/15)
331 typeDownload = false; // Download 処?行うかど?(初期値:false)
332 isError = false;
333 editImg = sysJsp + "/image/edit.png"; // 編?のアイコン
334 isEdit = true; // 5.6.0.2 (2013/01/19)
335 useEditLink = true; // 5.7.5.0 (2014/04/04) 追?
336 }
337
338 /**
339 * リンクを作?します?
340 *
341 * @og.rev 4.3.0.1 (2008/08/11) callBack パラメータの設定漏れ修正、引数から見直?
342 * @og.rev 5.5.6.2 (2012/09/24) tgt引数追?
343 *
344 * @param imgsrc イメージソース
345 * @param href リンクのURL
346 * @param alt イメージの説明文書
347 * @param tgt HTMLのtarget
348 *
349 * @return リンク??
350 */
351 // private String makeTag( final String imgsrc, final String jspsrc, final String alt ) {
352 // private String makeTag( final String imgsrc, final String href, final String alt ) {
353 private String makeTag( final String imgsrc, final String href, final String alt, final String tgt ) { // 5.5.6.2 (2012/09/24)
354 // <og:link href="{@SYS.JSP}/common/fileDownload.jsp" target="_blank" useGamenId="false"
355 // keys="filename,h_clms" vals="{@GUI.LABEL}.xls,{@h_clms}" >
356 // <og:img width="20px" height="20px" src="{@SYS.JSP}/image/fileDownload.gif" alt="Download File"/>
357 // </og:link>
358 // <og:equals val1="{@command}" val2="COPY|INSERT" matches="true" >
359 // <og:link href="{@SYS.JSP}/common/filePopup.jsp" keys="callBack" vals="{@GUI.KEY}/{@SESSION.JSPID}" >
360 // <og:img width="20px" height="20px" src="{@SYS.JSP}/image/fileUpload.gif" alt="Upload File"/>
361 // </og:link>
362 // </og:equals>
363
364 // linkのBODY部にセ?するイメージタグの作?
365 Attributes imgAttri = new Attributes();
366 imgAttri.set( "width" , imgWidth );
367 imgAttri.set( "height" , imgHeight );
368 imgAttri.set( "src" , imgsrc );
369 imgAttri.set( "alt" , alt );
370
371 String img = XHTMLTag.img( imgAttri );
372
373 // 4.3.0.1 (2008/08/11) callBack パラメータの設定漏れ修正、引数から見直?
374 // linkタグの作?
375 // String guikey = getGUIInfoAttri( "KEY" );
376 // String[] keys = new String[] { "filename","gamenId" };
377 // String[] vals = new String[] { filename , guikey };
378
379 // String path = XHTMLTag.urlEncode( keys,vals );
380
381 Attributes linkAttri = new Attributes();
382 // linkAttri.set( "href" , jspsrc + "?" + path );
383 linkAttri.set( "href" , href );
384 linkAttri.set( "body" , img );
385 // linkAttri.set( "target" , target );
386 linkAttri.set( "target" , tgt ); // 5.5.6.2 (2012/09/24)
387
388
389 return XHTMLTag.link( linkAttri );
390 }
391
392 /**
393 * 【TAG】command を指定します?
394 *
395 * @og.tag
396 * command を指定します?
397 * ?ンロード??NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW" のみ有効です?
398 * ア??ロード??COPY|INSERT" のみ有効です?
399 * それ以外?コマンドでは、アイコンは表示されません?
400 * 例えば、NEXT/PREV など?
401 *
402 * @param cmd コマンド[NEW/RENEW/FIRST/LAST/PREV/NEXT/VIEW]
403 */
404 public void setCommand( final String cmd ) {
405 command = nval( getRequestParameter( cmd ),command );
406 }
407
408 /**
409 * 【TAG】ダウンロード時のアイコンを指定しま?初期値:"{@SYS.JSP}/image/fileDownload.gif")?
410 *
411 * @og.tag
412 * ?ンロード時に表示されるアイコンを指定します?
413 * 初期値:"{@SYS.JSP}/image/fileDownload.gif" です?
414 *
415 * @param img ?ンロード時のアイコン
416 */
417 public void setDownloadImg( final String img ) {
418 downloadImg = nval( getRequestParameter( img ),downloadImg );
419 }
420
421 /**
422 * 【TAG】ダウンロード時の呼び出しJSPを指定しま?初期値:"{@SYS.JSP}/common/fileDownload.jsp")?
423 *
424 * @og.tag
425 * ?ンロード時に呼び出されるJSPファイル名を?します?
426 * 初期値:"{@SYS.JSP}/common/fileDownload.jsp" です?
427 *
428 * @param file ?ンロード時の呼び出しJSP
429 */
430 public void setDownloadJsp( final String file ) {
431 downloadJsp = nval( getRequestParameter( file ),downloadJsp );
432 }
433
434 /**
435 * 【TAG】ア??ロード時のアイコンを指定しま?初期値:"{@SYS.JSP}/image/fileUpload.gif")?
436 *
437 * @og.tag
438 * ア??ロード時に表示されるアイコンを指定します?
439 * 初期値:"{@SYS.JSP}/image/fileUpload.gif" です?
440 *
441 * @param img ア??ロード時のアイコン
442 */
443 public void setUploadImg( final String img ) {
444 uploadImg = nval( getRequestParameter( img ),uploadImg );
445 }
446
447 /**
448 * 【TAG】ア??ロード時の呼び出しJSPを指定しま?初期値:"{@SYS.JSP}/common/fileUpload.jsp")?
449 *
450 * @og.tag
451 * ア??ロード時に呼び出されるJSPファイル名を?します?
452 * 初期値:"{@SYS.JSP}/common/fileUpload.jsp" です?
453 *
454 * @param file ア??ロード時の呼び出しJSP
455 */
456 public void setUploadJsp( final String file ) {
457 uploadJsp = nval( getRequestParameter( file ),uploadJsp );
458 }
459
460 /**
461 * 【TAG】アイコン?イズ(px)を指定しま?初期値:20px)?
462 *
463 * @og.tag
464 * ア??ロー??ンロード?アイコンを表示する際??イズ(px)を指定します?
465 * ファイルサイズは、ア??ロー??ンロード?通です?
466 * 初期値は?0px です?
467 *
468 * @param width アイコン?イズ(px)
469 */
470 public void setImgWidth( final String width ) {
471 imgWidth = nval( getRequestParameter( width ),imgWidth );
472 }
473
474 /**
475 * 【TAG】アイコン高さサイズ(px)を指定しま?初期値:20px)?
476 *
477 * @og.tag
478 * ア??ロー??ンロード?アイコンを表示する際?高さサイズ(px)を指定します?
479 * ファイルサイズは、ア??ロー??ンロード?通です?
480 * 初期値は?0px です?
481 *
482 * @param height アイコン高さサイズ(px)
483 */
484 public void setImgHeight( final String height ) {
485 imgHeight = nval( getRequestParameter( height ),imgHeight );
486 }
487
488 /**
489 * 【TAG】ダウンロード時ファイル名を?しま?初期値:"{@GUI.LABEL}.xls")?
490 *
491 * @og.tag
492 * ?ンロード時のファイル名を?しま?
493 * 通常は、画面のラベル(?対??XLS拡張子です?
494 * 初期値は?{@GUI.LABEL}.xls" です?
495 *
496 * @param file ?ンロード時ファイル?"{@GUI.LABEL}.xls")
497 */
498 public void setFilename( final String file ) {
499 filename = nval( getRequestParameter( file ),filename );
500 }
501
502 /**
503 * 【TAG】ロールズをセ?します?
504 *
505 * @og.tag
506 * ここで?したロールを?に、ユーザー毎?アクセス許可がチェ?されます?
507 * アクセス許可されな?、表示されません?
508 * こ?ロールを指定しな??合?、画面のロールが使用されます?
509 *
510 * @param rls パラメータ
511 */
512 public void setRoles( final String rls ) {
513 roles = nval( getRequestParameter( rls ),roles );
514 }
515
516 /**
517 * 【TAG】ダウンロード文書を表示させるフレー??また?ウィンドウの名前を指定します?
518 *
519 * @og.tag フレー?(ターゲ?属?)を設定します?
520 *
521 * @param flag ?ンロード文書のフレー?(ターゲ?属?)
522 */
523 public void setTarget( final String flag ) {
524 target = nval( getRequestParameter( flag ),target );
525 }
526
527 /**
528 * 【TAG】Download 処?行うかど?を指定しま?初期値:false)?
529 *
530 * @og.tag
531 * Download 処?行うには、指定?画面(呼び出し?)と、抜き?した時?
532 * DBTableModel が??して?か判定します?
533 * また?DBTableModel が存在しな??また?、不備な場?オーバ?フロー)は?
534 * ?SQLを実行する?があり、そもそも?抜?処?出来な?態では?
535 * エラーを返す?があります?
536 * それら???のDownload 処?行うかど?を指定します?
537 * true の場合?session の HybsSystem.DB_LAST_SQL_KEY に格納された
538 * DBLastSql オブジェクトを取得し、scope ?request また?、overflow ?
539 * true の場合に、BODY部を実行します?(通常、queryタグを記述します?)
540 * query の出力?は、scope ?request にします?
541 * それ以外?、tableId から取り出した DBTableModel を?scope = "request"
542 * に(アドレスのみ)コピ?します?
543 * writeTable タグでは、scope = "request" から、DBTableModel を取り?します?
544 *
545 * 初期値は、false(抜き出しでは無くリンク作?) です?
546 *
547 * @param type Download 処?行うかど?(初期値:false)
548 */
549 public void setTypeDownload( final String type ) {
550 typeDownload = nval( getRequestParameter( type ),typeDownload );
551 }
552
553 /**
554 * 【TAG】ダウンロード?来な??合?エラーメ?ージIDを指定しま?初期値:ERR0042)?
555 *
556 * @og.tag
557 * DBTableModel が??に作?された画面と、メモリ中の DBLastSql オブジェクトが
558 * 管?て???が異なる?合?、ダウンロード?来ません?
559 * 同様に、DBLastSql オブジェク?自身が作?されて???合も出来ません?
560 * そ?ようなケースに表示するエラーメ?ージのメ?ージIDを指定します?
561 * 引数は、指定できません?
562 * 初期値は、?ERR0042??力対象??タが見つかりませんでした。?度検索して下さ???です?
563 *
564 * @param msg ?ンロード文書のフレー?(ターゲ?属?)
565 */
566 public void setErrorMsg( final String msg ) {
567 errorMsg = nval( getRequestParameter( msg ),errorMsg );
568 }
569
570 /**
571 * 【TAG】編?イコンを指定しま?初期値:"{@SYS.JSP}/image/edit.png")?
572 *
573 * @og.tag
574 * 編?イコンを指定します?
575 * 初期値:"{@SYS.JSP}/image/edit.png" です?
576 *
577 * @og.rev 5.1.6.0 (2010/05/01) 新規追?
578 *
579 * @param img ア??ロード時のアイコン
580 */
581 public void setEditImg( final String img ) {
582 editImg = nval( getRequestParameter( img ),editImg );
583 }
584
585 /**
586 * 【TAG】Edit画面でカラ??ブを出すかど?(初期値?true)
587 *
588 * @og.tag
589 * falseを指定するとカラ??ブを出さな??
590 *
591 * @param type カラ??ブを出すかど?(初期値:true)
592 */
593 public void setClmEdit( final String type ) {
594 isEdit = nval( getRequestParameter( type ),isEdit );
595 }
596
597 /**
598 * 【TAG】Edit画面でカラ??ンクを?力するかど?(初期値?true)
599 *
600 * @og.tag
601 * falseを指定するとカラ??ンクを?さな??
602 * 従来は、カラ??面の??【表示?設定?タブを表示しな?けでした?
603 * こ?設定?、RWMODE を? ##d , ##u , ##f の場合にも同様?設定が可能です?
604 * カラ??ンク自体を出さな??は、現時点ではリソース設定できな?め?
605 * タグのパラメータとして?できるようにします?
606 * 基本?は、このパラメータはほとんど使われて??ズなので?
607 * 機?を置き換えます?
608 * 初期値は、カラ??ンクを?力す?=true)です?
609 *
610 * @og.rev 5.7.5.0 (2014/04/04) 新規追?
611 *
612 * @param flag カラ??ンクを?力するかど?(初期値:true)
613 * @see org.opengion.hayabusa.taglib.QueryButtonTag#setUseEditMenu(String)
614 */
615 public void setUseEditLink( final String flag ) {
616 useEditLink = nval( getRequestParameter( flag ),useEditLink );
617 }
618
619 /**
620 * こ?オブジェクト???表現を返します?
621 * 基本???目?使用します?
622 *
623 * @return こ?クラスの??表現
624 */
625 @Override
626 public String toString() {
627 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
628 .println( "VERSION" ,VERSION )
629 .println( "command" ,command )
630 .println( "downloadImg" ,downloadImg )
631 .println( "downloadJsp" ,downloadJsp )
632 .println( "uploadImg" ,uploadImg )
633 .println( "uploadJsp" ,uploadJsp )
634 .println( "imgWidth" ,imgWidth )
635 .println( "imgHeight" ,imgHeight )
636 .println( "filename" ,filename )
637 .println( "roles" ,roles )
638 .println( "target" ,target )
639 .println( "Other..." ,getAttributes().getAttribute() )
640 .fixForm().toString() ;
641 }
642 }