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.common.HybsSystemException; 020 import org.opengion.hayabusa.db.DBTableModel; 021 import org.opengion.fukurou.util.ErrorMessage; 022 import org.opengion.fukurou.util.XHTMLTag; 023 import org.opengion.fukurou.util.StringUtil; 024 025 import static org.opengion.fukurou.util.StringUtil.nval ; 026 027 import javax.servlet.http.HttpServletRequest; 028 import javax.servlet.http.HttpServletResponse; 029 import javax.servlet.http.HttpSession; 030 import javax.servlet.ServletException; 031 import java.io.IOException; 032 import java.io.ObjectInputStream; 033 import java.io.ObjectOutputStream; 034 import java.util.Enumeration; 035 import java.util.Map; 036 import java.util.HashMap; 037 038 /** 039 * submitタグを用ã?¦ãƒšã?ジ転é€ã™ã‚‹ã‚¿ã‚°ã§ã?forward.jsp ã§ä½¿ç”¨)ã€? 040 * 041 * 通常ã€forward ã¯ã€ã?ージå†?»¢é€?サーãƒã?å†?ƒ¨ã§ã®è»¢é€?ã®ãŸã‚ã€åˆ¥ç”»é¢ã¸ã®é·ç§»ã«ã¯ 042 * 使用ã§ãã¾ã›ã‚“。ã“れã?ã€åˆ¥ç”»é¢ã§ã¯ã€index.jsp ç‰ã§ãƒ•レーãƒ??割ã™ã‚‹éš›ã?基準フォルãƒ??ã€? 043 * forward ã®å ´åˆã?クライアントã?ç?§£ã—ã¦ã?ªã?Ÿã‚ã?ã‚‚ã†ä¸?º¦å…ˆã?フォルãƒ?«å¯¾ã™ã‚‹ 044 * フレーãƒ??割を行ãŠã?¨ã™ã‚‹ãŸã‚ã§ã™ã? 045 * (よãã€index.jsp ã® frame ã‚¿ã‚°ã«ã€src="../XXXX/query.jsp" ãªã©ã¨ã€è?åˆ??身ã®ãƒ•ォルãƒ?ã‚? 046 * 記述ã—ãŸãƒšã?ジを見ã‹ã‘ã¾ã™ãŒã€ã“れã?ã€ãƒ•ォルãƒ?‚’ã¾ãŸãŒã‚‹è»¢é€ã«ã€forward を使用ã™ã‚‹ 047 * ç‚ºã®æ‚ªã?¯¾ç–ã§ã™ã?) 048 * 実際ã¯ã€forward ã§ã¯ãªãã?redirect を使ã?¹ãã§ã™ã?redirect ã¯ã€æŒ‡å®šã?ã‚¢ãƒ‰ãƒ¬ã‚¹è¦æ±‚ã‚’ã€? 049 * ä¸?—¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«æŠ•ã’ã¦ãã“ã‹ã‚‰å†åº¦è¦æ±‚ã—ãªãŠã—ã¦ã‚‚らã?–¹å¼ã?ãŸã‚ã€ã“ã®ã‚ˆã†ã«ãƒ•ォルãƒ?‚’ 050 * ã¾ãŸãŒã‚‹è»¢é€ã‚‚æ£å¸¸ã«å‡¦ç?§ãã¾ã™ã? 051 * ã“ã?ã€commonForward ã‚¿ã‚°ã§ã¯ã€ç”»é¢é·ç§»ã®æ¡ä»¶ã«å¿œã˜ã¦ã€forward ã?redirect ã®è‡ªå‹? 052 * 判定を行ã„ã€?©åˆ?«å‡¦ç?—ã¦ã?¾ã™ã? 053 * 判定æ¡ä»¶ã¯ã€æ‹¡å¼µåã‚„ã€?¸æŠžä»¶æ•°ãªã©ã‚’åŠ å‘³ã—ã¦ä»¥ä¸‹ã?判定をé ?¬¡ãƒ?‚¹ãƒˆã—ã¾ã™ã? 054 * 055 * FORWARD : 056 * アドレスãŒã? null(自åˆ??身) ã‹ã?.jsp ã‚’å«ã¿ã€?/" ãŒå?ã£ã¦ã?ªã??å? 057 * REDIRECT: 058 * アドレスãŒã?.jsp ã‚’å«ã¾ãªã?‹ã€?del>useTableData == false(è¡Œé¸æŠžã‚’ä½¿ç”¨ã—ãªã?ã‹ã?</del> 059 * ãれ以å¤?.jsp ã‚’å«ã¿ã€?/" ã‚‚å«ã‚?ã§ã€?¸æŠžæ•°ãŒï¼‘ä»¶ã®ã¿ã®å ´å? 060 * ã‚‚ã—ãã?useRedirectCheck="false"ã®å ´å? 061 * COUNT_0 : 062 * ãれ以外ã§ã€?¸æŠžæ•°ãŒï¼ä»¶ã®å ´å? 063 * COUNT_N : 064 * ãれ以外ã§ã€?¸æŠžæ•°ãŒï¼‘件以上ã?å ´åˆã?ã¾ãŸã?ã€ãã®ä»–ã? 065 * 066 * ã“ã“ã§ã€COUNT_0 ã®å ´åˆã?ã€æœªé¸æŠžã‚¨ãƒ©ãƒ¼ã€COUNT_N ã¯ã€è¤?•°é¸æŠžã‚¨ãƒ©ãƒ¼ã‚’è?å‹•çš„ã«è¿”ã—ã¾ã™ã? 067 * 068 * @og.formSample 069 * â—å½¢å¼ï¼?lt;og:commonForward /> 070 * â—body?šãªã? 071 * 072 * â—Tag定義?? 073 * <og:commonForward 074 * dbkeys ã€TAG】DBã‚ーをCSV å½¢å¼ã§ã‚»ãƒ?ƒˆã—ã¾ã? 075 * tableId ã€TAGã€?通常使ã?¾ã›ã‚“)sessionã‹ã‚‰æ‰?¾—ã™ã‚?DBTableModelオブジェクトã? ID 076 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false) 077 * useRedirectCheck ã€TAG】éžé¸æŠžçŠ¶æ…‹ã?å ´åˆã«forwardを許å¯ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true) 078 * /> 079 * 080 * â—使用ä¾? 081 * フォワードã‚ャãƒ?‚·ãƒ¥ã«ã‚ˆã‚Šãƒšã?ジ転é€ã—ã¾ã™ã? 082 * <og:commonForward dbkeys="{@dbkeys}" /> 083 * 084 * @og.group ç”»é¢åˆ¶å¾¡ 085 * 086 * @version 4.0 087 * @author Masaharu Endo 088 * @since JDK5.0, 089 */ 090 public class CommonForwardTag extends CommonTagSupport { 091 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */ 092 private static final String VERSION = "5.3.6.0 (2011/06/01)" ; 093 094 private static final long serialVersionUID = 536020110601L ; // 5.3.6.0 (2011/06/01) 095 096 // 3.5.5.3 (2004/04/09) å…±é€šã‚¢ãƒ‰ãƒ¬ã‚¹ã§æŒ?®šã™ã‚‹ã“ã¨ã§ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚ャãƒ?‚·ãƒ¥ã‚’有効利用ã™ã‚‹ã€? 097 private static final String DUMMY_HTML = "/" + HybsSystem.getContextName() + "/jsp/common/dummy.html"; 098 099 // 3.8.5.1 (2006/04/28) dbkeys ã?null ã®å ´åˆã«å…¨ä»¶å–å¾—ã™ã‚‹ã‹ã©ã?‹ã‚?COMMON_FORWARD_DBKEYS_NULL_ALL ã§æŒ?®šã—ã¾ã™ã? 100 101 private static final int FORWARD = 0; 102 private static final int REDIRECT = 1; 103 private static final int COUNT_0 = 2; 104 private static final int COUNT_N = 3; 105 106 // 3.5.5.2 (2004/04/02) é¸æŠžè¡ŒãŒã€?¼‘行ã?ã¿ã‹ã?ãã†ã§ãªã?‹ 107 private int rowCount = -1; 108 109 // 3.5.5.2 (2004/04/02) é¸æŠžè¡Œã? DBTableModel ãƒ??タを引数ã«ä½¿ç”¨ã™ã‚‹ã‹ã©ã?‹ã€? 110 // private boolean useTableData = HybsSystem.sysBool( "COMMON_FORWARD_USE_TABLE_DATA" ); 111 // private String tableId = HybsSystem.TBL_MDL_KEY; 112 private int rowNo = -1; 113 114 // 3.5.5.5 (2004/04/23) URLã«é€£çµã™ã‚‹DBTableModelã®ã‚«ãƒ©ãƒ?‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã? 115 private String dbkeys = null; 116 117 // 3.5.5.8 (2004/05/20) submitã‚¿ã‚°ã® keys,vals を扱ã?仮想リクエスãƒ?ap 118 // private String useTableTemp = null; 119 private String tableIdTemp = null; 120 private String dbkeysTemp = null; 121 private transient Map<String,String> submitRequestMap = new HashMap<String,String>(); // 3.5.6.2 (2004/07/05) 122 private transient Map<String,String> submitTableMap = new HashMap<String,String>(); // 3.8.5.1 (2006/04/28) 123 124 // 4.0.0.0 (2007/11/09) éžé¸æŠžçŠ¶æ…‹ã§ã®forwardã®ãŸã‚ã®å±žæ?追åŠ? 125 private boolean isRedirectCheck = true; 126 127 /** 128 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 129 * 130 * @og.rev 3.3.1.1 (2003/07/03) ?µ?²?¬ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆæƒ…å ±ã‚’ï¼µ?²?¬ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã—ã¦è¿½åŠ?—ã¾ã™ã? 131 * @og.rev 3.5.5.2 (2004/04/02) フォルãƒ?¤–è»¢é€æ™‚ã¯ã€?¼‘è¡Œä»¥å¤–é¸æŠžã?ã€ã‚¨ãƒ©ãƒ¼ã¨ã—ã¾ã™ã? 132 * @og.rev 3.5.5.3 (2004/04/09) ãƒ?ƒãƒ?‚°æ™‚ã?ã€è»¢é€ã—ãªã?‚ˆã?«ã—ã¾ã™ã? 133 * @og.rev 3.8.0.4 (2005/08/08) requestUrlEncode å»?¢ 134 * @og.rev 3.8.0.8 (2005/10/03) dbkeys ã?null ã®å ´åˆã«å…¨ä»¶å–å¾—ã—ã¦ã?Ÿå‡¦ç?‚’復活ã—ã¾ã™ã? 135 * @og.rev 4.0.0.0 (2007/11/09) éžé¸æŠžçŠ¶æ…‹ã‹ã‚‰ã?é·ç§»ã‚’許å¯ã™ã‚‹ãƒ•ラグを追åŠ?11/12ã«æŒ¯ã‚Šå?ã‘å?ç?‚’selectResponseMethodã«ç§»å‹? 136 * @og.rev 5.0.0.2 (2009/09/15) XSS対å¿?>ãƒã‚§ãƒ?‚¯ã™ã‚‹ 137 * @og.rev 5.3.6.0 (2011/06/01) エラーメãƒ?‚»ãƒ¼ã‚¸å¤‰æ›´(URLã®æŒ¯ã‚Šå?ã‘å?ç?™‚ã«...ã®ãƒ¡ãƒ?‚»ãƒ¼ã‚¸ã¯å‡ºåŠ›ã—ãªã? 138 * 139 * @return 後続å?ç??æŒ?¤º 140 */ 141 @Override 142 public int doEndTag() { 143 debugPrint(); // 4.0.0 (2005/02/28) 144 145 // useXssCheck( false ); // 5.0.0.2 (2009/09/15) 146 147 HttpServletRequest request = ((HttpServletRequest)getRequest()); 148 HttpSession session = pageContext.getSession(); 149 String page = getForwardURI( request, session ); 150 151 // 3.5.5.8 (2004/05/20) å†?ƒ¨ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?ap より値をå–å¾? 152 // useTableData = nval( getSubmitRequestParameter( useTableTemp ),useTableData ); 153 // tableId = nval( getSubmitRequestParameter( tableIdTemp ),tableId ); 154 dbkeys = nval( getSubmitRequestParameter( dbkeysTemp ),dbkeys ); 155 156 HttpServletResponse response = (HttpServletResponse)pageContext.getResponse(); 157 158 String errMsgKey = null; 159 try { 160 // 3.5.5.2 (2004/04/02) 振りå?ã‘æ¡ä»¶ã‚’判定ã™ã‚‹ãƒ¡ã‚½ãƒ?ƒ‰ã‚’é?ã—ã¾ã™ã? 161 // ã“ã?メソãƒ?ƒ‰ã«ã‚ˆã‚Šã€useTableData ãŒå?è¨å®šã•れã¾ã™ã?処ç??ã«æ³¨æ„? 162 int flag = selectResponseMethod( page ); 163 164 // 3.8.0.8 (2005/10/03) dbkeys ã?null ã®å ´åˆã«å…¨ä»¶å–å¾—ã—ã¦ã?Ÿå‡¦ç?‚’復活ã—ã¾ã™ã? 165 // if( rowCount == 1 && useTableData ) { 166 if( rowCount == 1 && dbkeys != null ) { 167 page = XHTMLTag.addUrlEncode( page,getTableUrlData() ); 168 } 169 170 String url = response.encodeRedirectURL( page ); 171 // 3.8.0.8 (2005/10/03) GET時ã? URL ã®é•·ã•制é™ãƒã‚§ãƒ?‚¯(æœ?¤§æ–?—数㯠2,083 æ–?? 172 if( url != null && url.length() >= HybsSystem.MAX_GET_LENGTH ) { 173 String errMsg = "GET時ã? URL ã®é•·ã•ã?,æœ?¤§2,083 æ–?—ã§ã™ã?" 174 + " URL.length=" + url.length() + " , MAX_LENGTH=" + HybsSystem.MAX_GET_LENGTH ; 175 throw new HybsSystemException( errMsg ); 176 } 177 178 switch( flag ) { 179 case FORWARD: if( isDebug() ) { jspPrint( "FORWARD URL = [" + url + "]" ); } 180 else { pageContext.forward( url ); } 181 break; 182 case REDIRECT: // url = requestUrlEncode( url ); // 3.8.0.4 (2005/08/08) 183 if( isDebug() ) { jspPrint( "REDIRECT URL = [" + url + "]" ); } 184 else { response.sendRedirect( url ); } 185 break; 186 case COUNT_0: 187 // if( isDebug() ) { 188 // jspPrint( "RedirectCheck = [" + isRedirectCheck + "]" ); 189 // jspPrint( "FORWARD URL = [" + url + "]" ); 190 // } 191 // if( isRedirectCheck ) { errMsgKey = "ERR0028" ; } // é¸æŠžã•れã¦ã?¾ã›ã‚“。もã?¸?º¦ã€?¸æŠžã—ãªãŠã—ã¦ä¸‹ã•ã?? 192 // else{ response.sendRedirect( url );} // 4.0.0.0 (2007/11/09) éžé¸æŠžçŠ¶æ…‹é?移フラグ追åŠ? 193 errMsgKey = "ERR0028" ; // é¸æŠžã•れã¦ã?¾ã›ã‚“。もã?¸?º¦ã€?¸æŠžã—ãªãŠã—ã¦ä¸‹ã•ã?? 194 break; 195 default: errMsgKey = "ERR0029" ; // è¤?•°é¸æŠžã•れã¾ã—ãŸã€‚1件ã®ã¿é¸æŠžã—ãªãŠã—ã¦ä¸‹ã•ã?? 196 break; 197 } 198 199 } catch ( IOException ex ) { 200 // 5.3.6.0 (2011/06/01) エラーメãƒ?‚»ãƒ¼ã‚¸è¡¨ç¤ºå¤‰æ›´ 201 // String errMsg = "URLã®æŒ¯ã‚Šå?ã‘å?ç?™‚ã« IOException ãŒç™ºç”Ÿã—ã¾ã—ãŸã€?" + HybsSystem.CR 202 // + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£ 203 String errMsg = ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£ 204 throw new HybsSystemException( errMsg,ex ); // 3.5.5.4 (2004/04/15) 引数ã®ä¸¦ã³é ?¤‰æ›´ 205 } catch ( ServletException ex ) { 206 // 5.3.6.0 (2011/06/01) エラーメãƒ?‚»ãƒ¼ã‚¸è¡¨ç¤ºå¤‰æ›´ 207 // String errMsg = "URLã®æŒ¯ã‚Šå?ã‘å?ç?™‚ã« ServletException ãŒç™ºç”Ÿã—ã¾ã—ãŸã€?" + HybsSystem.CR 208 // + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£ 209 String errMsg = ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£ 210 throw new HybsSystemException( errMsg,ex ); // 3.5.5.4 (2004/04/15) 引数ã®ä¸¦ã³é ?¤‰æ›´ 211 } 212 213 // 3.5.5.2 (2004/04/02) フォルãƒ?¤–è»¢é€æ™‚ã¯ã€?¼‘è¡Œä»¥å¤–é¸æŠžã?ã€ã‚¨ãƒ©ãƒ¼ã¨ã—ã¾ã™ã? 214 if( errMsgKey != null ) { 215 ErrorMessage errMsg = new ErrorMessage( "Row Count Error Maximal Error!" ); 216 errMsg.addMessage( 0,ErrorMessage.NG,errMsgKey ); 217 218 jspPrint( TaglibUtil.makeHTMLErrorTable( errMsg,getResource() ) ); 219 } 220 221 return( SKIP_PAGE ); // ペã?ã‚¸ã®æ®‹ã‚Šã®å‡¦ç?‚’行ã‚ãªã?? 222 } 223 224 /** 225 * タグリブオブジェクトをリリースã—ã¾ã™ã? 226 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 227 * 228 * @og.rev 3.5.5.2 (2004/04/02) æ–°è¦è¿½åŠ?rowCount,useTableData) 229 * @og.rev 3.5.5.5 (2004/04/23) URLã«é€£çµã™ã‚‹DBTableModelã®ã‚«ãƒ©ãƒ?‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã? 230 * @og.rev 3.8.5.1 (2006/04/28) URLã«é€£çµã™ã‚‹DBTableModelã®ã‚«ãƒ©ãƒ?‚’[カラãƒ?å½¢å¼ã§æŒ?®šã—ã¾ã™ã? 231 * 232 */ 233 @Override 234 protected void release2() { 235 super.release2(); 236 rowCount = -1; 237 // useTableData = HybsSystem.sysBool( "COMMON_FORWARD_USE_TABLE_DATA" ); 238 // tableId = HybsSystem.TBL_MDL_KEY; 239 rowNo = -1; 240 dbkeys = null; // 3.5.5.5 (2004/04/23) 241 submitRequestMap = new HashMap<String,String>(); // 3.5.5.8 (2004/05/20) 242 submitTableMap = new HashMap<String,String>(); // 3.8.5.1 (2006/04/28) 243 // useTableTemp = null; // 3.5.5.8 (2004/05/20) 244 tableIdTemp = null; // 3.5.5.8 (2004/05/20) 245 dbkeysTemp = null; // 3.5.5.8 (2004/05/20) 246 isRedirectCheck = true; // 4.0.0.0 (2007/11/12) 247 } 248 249 /** 250 * フォワードå?URIã‚’å–å¾—ã—ã¾ã™ã? 251 * 252 * @og.rev 3.1.2.0 (2003/04/07) ソースコードä¸ã®å›ºå®šå?ã‚’ã?定義ファイルを使用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã™ã‚‹ã€? 253 * @og.rev 3.1.4.1 (2003/04/21) request.getQueryString() ã‚’addUrlEncodeã—ã¦ã?‚‹ç®?‰€ã‚’削除ã€? 254 * @og.rev 3.1.7.0 (2003/05/02) コマンãƒ?RENEW ã§ã€forward ã—ãŸå ´åˆã«ã€result.jsp ã«é·ç§»ã™ã‚‹ã‚ˆã†ã«ä¿®æ£ã€? 255 * @og.rev 3.1.7.0 (2003/05/02) ç”»é¢?©?¤ã®ã‚»ãƒ?ƒˆã§ã€è?ç”»é¢ã‚’ã?BACK_GAMENID ã€?£›ã?先をã€GAMENID ã«ã™ã‚‹ã€? 256 * @og.rev 3.1.8.0 (2003/05/16) SubmitData クラスを利用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã€? 257 * @og.rev 3.3.1.1 (2003/07/03) ForwardManager クラスã®å»?¢ã€‚飛ã?å…ˆã?ã‚ャãƒ?‚·ãƒ¥ã‚’å»?¢ã—ã¾ã™ã? 258 * @og.rev 3.5.5.2 (2004/04/02) é¸æŠžè¡Œã?ä»¶æ•°ã‚’è¨å®šã—ã¦ãŠãã¾ã™ã? 259 * @og.rev 3.5.5.3 (2004/04/09) dummy.html ã‚?static final ã§çµ¶å¯¾ãƒ‘スæŒ?®šã—ã¾ã™ã? 260 * @og.rev 3.5.5.4 (2004/04/15) メソãƒ?ƒ‰å†?§ä½¿ç”¨ã—ã¦ã?ªã??gamenId,jspID 変数を削除ã—ã¾ã™ã? 261 * @og.rev 3.5.5.5 (2004/04/23) 余計ãªãƒœã‚¿ãƒ³é–¢é€£æƒ??を転é€ã—ãªã?‚ºã«ã€ã‚ーを変更ã—ã¾ã™ã? 262 * @og.rev 3.5.5.5 (2004/04/23) SubmitTag ã® keys,vals 属æ?ã§æŒ?®šã—ãŸå?ã®ã¿ã€è»¢é€ã—ã¾ã™ã? 263 * @og.rev 3.5.5.8 (2004/05/20) SubmitTag ã® keys,vals 属æ?ã§æŒ?®šã—ãŸå?ã‚’ã?å†?ƒ¨ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Mapã«ã‚»ãƒ?ƒˆã—ã¾ã™ã? 264 * @og.rev 3.7.0.1 (2005/01/31) リクエスト変数ã«é¸æŠžã•れãŸä»¶æ•°ã‚’追åŠ? 265 * @og.rev 3.7.0.3 (2005/03/01) æŒ?®šã?行番å·ã¾ã§ç”»é¢ã‚’スクãƒãƒ¼ãƒ«ã•ã›ã‚‹æ©Ÿè?を追åŠ?? 266 * @og.rev 3.8.0.8 (2005/10/03) BACK_GAMENID ãŒã‚れã? BACK_ROW を追åŠ?™ã‚‹ã? 267 * @og.rev 3.8.5.1 (2006/04/28) vals="[カラãƒ?]" ã¨ã?†å¼•æ•°ã‚’å?ç?§ãる機è?を追åŠ?? 268 * @og.rev 5.1.8.0 (2010/07/01) VIEWã®å ´åˆã‚‚ã€ç›´å‰ã?JSPã«é·ç§»ã™ã‚‹ã€? 269 * 270 * @param request HttpServletRequestオブジェクãƒ? 271 * @param session HttpSessionオブジェクãƒ? 272 * 273 * @return フォワードå?URI 274 */ 275 private String getForwardURI( final HttpServletRequest request, 276 final HttpSession session ) { 277 278 // String cmd = request.getParameter( "command" ); 279 String[] rows = request.getParameterValues( HybsSystem.ROW_SEL_KEY ); 280 281 // 4.0.0 (2007/05/16) query.jsp ã§è¤?•°command 時ã?処ç?¿®æ£ 282 String cmd = request.getParameter( "command" ); 283 String[] cmds = request.getParameterValues( "command" ); 284 if( cmds != null && cmds.length > 1 ) { 285 for( int i=0; i<cmds.length; i++ ) { 286 if( ! "NEW".equals( cmds[i] ) ) { 287 cmd = cmds[i]; break; // NEW ã§ãªã??æœ??ã®ä¸?¤ 288 } 289 } 290 // ã™ã¹ã¦ã?NEW ã®å ´åˆã?ã€å˜ä½?getParameter) ã?NEW ãªã®ã§ç´??りã§ã‚ˆã„ã€? 291 } 292 293 // 3.5.5.2 (2004/04/02) é¸æŠžè¡Œã?ä»¶æ•° 294 if( rows != null ) { 295 rowCount = rows.length; 296 rowNo = Integer.parseInt( rows[0] ); 297 } 298 else { 299 rowCount = 0; 300 } 301 // 3.7.0.1 (2005/01/31) リクエスト変数ã«é¸æŠžã•れãŸä»¶æ•°ã‚’追åŠ? 302 setRequestAttribute( "ROW_COUNT",String.valueOf( rowCount ) ); 303 304 if( cmd == null || cmd.length() == 0 ) { cmd = "INIT"; } 305 // String forwardPage = "result.jsp" ; 306 final String forwardPage; 307 308 String backPage = (String)session.getAttribute( HybsSystem.FORWARD_PAGE_KEY ); 309 String command = cmd; // 3.5.5.5 (2004/04/23) 310 int pagePlus = 0; 311 312 // コマンドパラメータã«ã‚ˆã‚ŠæŒ¯åˆ?‘ 313 // 5.1.8.0 (2010/07/01) VIEWã®å ´åˆã‚‚ã€ç›´å‰ã?JSPã«é·ç§»ã™ã‚‹ã€? 314 // if( "FIRST,PREV,NEXT,LAST".indexOf( cmd ) >= 0 ) { 315 if( "FIRST,PREV,NEXT,LAST,VIEW".indexOf( cmd ) >= 0 ) { 316 forwardPage = backPage; 317 // } else if( "NEW,VIEW,RENEW".indexOf( cmd ) >= 0 ) { 318 } else if( "NEW,RENEW".indexOf( cmd ) >= 0 ) { 319 // åˆæœŸå€¤ 320 forwardPage = "result.jsp"; 321 } else if( "INIT".equals( cmd ) ) { 322 forwardPage = DUMMY_HTML; // 3.5.5.3 (2004/04/09) 323 } else { 324 // 共有オブジェクト検索 325 326 // リンクå…?‚³ãƒžãƒ³ãƒ‰åå–å¾? 327 // 3.5.5.5 (2004/04/23) 余計ãªãƒœã‚¿ãƒ³é–¢é€£æƒ??を転é€ã—ãªã?‚ºã«ã€ã‚ーを変更ã—ã¾ã™ã? 328 command = request.getParameter( HybsSystem.NO_XFER_KEY + cmd + "CMD" ); 329 330 // 3.7.0.3 (2005/03/01) æŒ?®šã?行番å·ã¾ã§ç”»é¢ã‚’スクãƒãƒ¼ãƒ«ã•ã›ã‚‹æ©Ÿè?を追åŠ?? 331 if( rows != null && "ENTRY".equals( command ) ) { 332 setRequestCacheData( "SEL_ROW",String.valueOf( rowNo ) ); 333 } 334 335 if( "RESET".equals( command ) ) { // RESET æ™? 336 forwardPage = "result.jsp"; 337 } 338 else { 339 // リンク先å–å¾? 340 forwardPage = request.getParameter( HybsSystem.NO_XFER_KEY + cmd ); 341 // INSERTã¨COPYã®å ´åˆã?ã¿ 342 if( "INSERT".equals( command ) || "COPY".equals( command ) ) { 343 if( rows != null ) { pagePlus = rows.length; } 344 } 345 } 346 347 // // リンク先å–å¾? 348 // forwardPage = request.getParameter( HybsSystem.NO_XFER_KEY + cmd ); 349 // 350 // // INSERTã¨COPYã®å ´åˆã?ã¿ 351 // if( "INSERT".equals( command ) || "COPY".equals( command ) ) { 352 // if( rows != null ) { pagePlus = rows.length; } 353 // } 354 // else if( "RESET".equals( command ) ) { // RESET æ™? 355 // forwardPage = "result.jsp"; 356 // } 357 } 358 359 if( ! forwardPage.equals( backPage ) ) { 360 session.setAttribute( HybsSystem.REVIEW_PAGE_KEY , backPage ); 361 } 362 session.setAttribute( HybsSystem.FORWARD_PAGE_KEY, forwardPage ); 363 364 // 3.5.5.5 (2004/04/23) SubmitTag ã® keys,vals 属æ?ã§æŒ?®šã—ãŸå?ã®ã¿ã€è»¢é€ã—ã¾ã™ã? 365 StringBuilder strURL = new StringBuilder( HybsSystem.BUFFER_MIDDLE ); 366 strURL.append( "&" ).append( "command" ).append( "=" ).append( command ); 367 strURL.append( "&" ).append( "pagePlus" ).append( "=" ).append( String.valueOf( pagePlus ) ); 368 369 String btnKey = HybsSystem.NO_XFER_KEY + cmd + "KEY_" ; 370 int keylen = btnKey.length() ; 371 372 Enumeration<?> enm = getParameterNames(); // 4.3.3.6 (2008/11/15) Genericsè¦å‘Šå¯¾å¿? 373 374 while( enm.hasMoreElements() ) { 375 String key = (String)( enm.nextElement() ); 376 // 3.5.5.5 (2004/04/23) ä½™è¨ˆãªæƒ??を転é€ã—ãªã?§˜ã«ã€ã‚ーをé¸åˆ¥ã—ã¾ã™ã? 377 if( key != null && key.startsWith( btnKey ) ) { 378 // 3.5.5.8 (2004/05/20) å†?ƒ¨ã®ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Map ã«è¨å®šã—ã¾ã™ã? 379 String kk = key.substring( keylen ) ; 380 String vv = getRequestValue(key) ; 381 // 3.8.5.1 (2006/04/28) vals="[カラãƒ?]" ã¨ã?†å¼•æ•°ã‚’å?ç?§ãる機è?を追åŠ?? 382 if( vv != null && vv.length() > 2 && vv.charAt(0) == '[' && vv.charAt(vv.length()-1) == ']' ) { 383 submitTableMap.put( kk,vv.substring( 1,vv.length()-1 )); 384 } 385 // else if( "dbkeys".equals( kk ) ) { 386 // submitRequestMap.put( kk,vv ); 387 // } 388 else { 389 submitRequestMap.put( kk,vv ); 390 strURL.append( "&" ); 391 strURL.append( kk ).append( "=" ); 392 strURL.append( StringUtil.urlEncode( vv ) ); 393 } 394 395 // 3.8.0.8 (2005/10/03) BACK_GAMENID ãŒã‚れã? BACK_ROW を追åŠ?™ã‚‹ã? 396 if( "BACK_GAMENID".equalsIgnoreCase( kk ) && rowNo >= 0 ) { 397 strURL.append( "&BACK_ROW=" ); 398 strURL.append( rowNo ); 399 } 400 } 401 } 402 403 return XHTMLTag.addUrlEncode( forwardPage,strURL.toString() ); 404 } 405 406 /** 407 * ペã?ジã‚?リãƒ?‚¤ãƒ¬ã‚¯ãƒˆã‹ãƒ•ォワードã‹é¸æŠžã—ã¾ã™ã? 408 * 判定æ¡ä»¶ã¯ã€æ‹¡å¼µåã‚„ã€?¸æŠžä»¶æ•°ãªã©ã‚’åŠ å‘³ã—ã¦ä»¥ä¸‹ã?判定をé ?¬¡ãƒ?‚¹ãƒˆã—ã¾ã™ã? 409 * 410 * FORWARD : 411 * アドレスãŒã? null ã‹ã?.jsp ã‚’å«ã¿ã€?/" ãŒå?ã£ã¦ã?ªã??å? 412 * REDIRECT: 413 * アドレスãŒã?.jsp ã‚’å«ã¾ãªã?‹ã€?del>useTableData == false(è¡Œé¸æŠžã‚’ä½¿ç”¨ã—ãªã?ã‹ã?</del> 414 * ãれ以å¤?.jsp ã‚’å«ã¿ã€?/" ã‚‚å«ã‚?ã§ã€?¸æŠžæ•°ãŒï¼‘ä»¶ã®ã¿ã®å ´å? 415 * COUNT_0 : 416 * ãれ以外ã§ã€?¸æŠžæ•°ãŒï¼ä»¶ã®å ´å? 417 * COUNT_N : 418 * ãれ以外ã§ã€?¸æŠžæ•°ãŒï¼‘件以上ã?å ´åˆã?ã¾ãŸã?ã€ãã®ä»–ã? 419 * 420 * @og.rev 3.5.5.2 (2004/04/02) æ–°è¦ä½œæ??šisJspPrefix( String page ) ã®ä»£ç”¨ã§ã™ã? 421 * @og.rev 4.0.0.0 (2007/05/23) useTableData ã®æ›¸ãæ›ãˆã‚’䏿¢ã—ã¾ã™ã? 422 * @og.rev 4.0.0.0 (2007/11/12) éžé¸æŠžçŠ¶æ…‹ã§ã‚‚リãƒ?‚¤ãƒ¬ã‚¯ãƒˆå¯èƒ½ãªãƒ•ラグ(isRedirectCheck)を追åŠ? 423 * 424 * @param page 判定ã™ã‚‹è»¢é€å?アドレス 425 * 426 * @return FORWARD,REDIRECT,COUNT_0,COUNT_N ã®ã?¡ã€ã©ã‚Œã‹ 427 */ 428 private int selectResponseMethod( final String page ) { 429 if( page == null ) { return FORWARD; } 430 431 int adrs = page.indexOf( ".jsp" ); 432 433 if( adrs >= 0 && page.lastIndexOf( '/',adrs ) < 0 ) { 434 // useTableData = false; // ç¾æ™‚点ã§ã® forward ã§ã¯ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€? 435 return FORWARD; 436 } 437 // else if( adrs < 0 || !useTableData ) { 438 // else if( adrs < 0 ) { 439 else if( adrs < 0 || !isRedirectCheck ) { // 4.0.0.0 (2007/11/12) éžé¸æŠžãƒªãƒ?‚¤ãƒ¬ã‚¯ãƒˆè¨±å¯ãƒ•ラグ追åŠ? 440 // useTableData = false; // jsp 以外ã§ã¯ã€ä½¿ç”¨ã§ãã¾ã›ã‚“ã€? 441 return REDIRECT; 442 } 443 else if( rowCount == 1 ) { 444 return REDIRECT; 445 } 446 else if( rowCount == 0 ) { 447 return COUNT_0; 448 } 449 else { 450 return COUNT_N; 451 } 452 } 453 454 /** 455 * ã€TAGã€‘é¸æŠžè¡Œãƒ‡ãƒ¼ã‚¿ã‚’ã?URL 引数ã«è¿½åŠ?™ã‚?true)ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:false)ã€? 456 * 457 * @og.tag 458 * é¸æŠžã•れ㟠DBTableModel 㮠行データをãã®ã¾ã¾ã€URL 㮠引数ã«è¿½åŠ?—㦠459 * 転é€ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã§ãるフラグã€useTableData 属æ?を追åŠ?—ã¾ã™ã? 460 * åˆæœŸå€¤ã¯ã€false (äº’æ›æ€§ã®ç‚º)ã§ã™ã? 461 * ãªãŠã?SubmitTag(サブミãƒ?ƒˆãƒœã‚¿ãƒ³ã‚¿ã‚°)ã§ã€gamenIdãŒæŒ‡å®šã•れãŸå ´åˆã? 462 * ã¤ã¾ã‚Šã?ä»–ã?フォルãƒ?«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã•れãŸå ´åˆã?ã¿ã€æœ‰åйã«ãªã‚Šã¾ã™ã? 463 * 自åˆ??身ã®ãƒ•ォルãƒ??ã§ã¯ã€forward ãŒä½¿ç”¨ã•れるãŸã‚ã?使ãˆã¾ã›ã‚“ã€? 464 * 465 * @og.rev 3.5.5.2 (2004/04/02) æ–°è¦è¿½åŠ? 466 * @og.rev 3.5.5.8 (2004/05/20) å†?ƒ¨ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Map ã‚’å‚ç…§ã§ãるよã†ã«ã™ã‚‹ã€? 467 * 468 * @param flag é¸æŠžè¡Œãƒ‡ãƒ¼ã‚¿ã‚’ä½¿ç”¨ã™ã‚‹(true)/ã—ãªã?false) 469 */ 470 // public void setUseTableData( final String flag ) { 471 // useTableTemp = nval( getRequestParameter( flag ),useTableTemp ); 472 // } 473 474 /** 475 * ã€TAGã€?通常使ã?¾ã›ã‚“)sessionã‹ã‚‰æ‰?¾—ã™ã‚?DBTableModelオブジェクトã? ID 476 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€? 477 * 478 * @og.tag 479 * 表示処ç?¾Œã«??å†?ƒ¨ãƒã‚¤ãƒ³ã‚¿ã‚’æ›¸ãæ›ãˆãŸ)DBTableModelオブジェクトを 480 * åŒã˜ã‚ーã§ã€sessionã«ç™»éŒ²ã—ã¾ã™ã? 481 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€? 482 * 483 * @og.rev 3.5.5.2 (2004/04/02) æ–°è¦è¿½åŠ? 484 * @og.rev 3.5.5.8 (2004/05/20) å†?ƒ¨ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Map ã‚’å‚ç…§ã§ãるよã†ã«ã™ã‚‹ã€? 485 * 486 * @param id sessionã‹ã‚‰æ‰?¾—ã™ã‚‹æ™‚ã® ID 487 */ 488 public void setTableId( final String id ) { 489 // 注æ„?引数ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå¤‰æ•°ãŒç„¡ã‘れã°ã€è?åˆ??身({@XXX}å½¢å¼?ã‚’å?ã‚»ãƒ?ƒˆã™ã‚‹ã€? 490 tableIdTemp = nval( getRequestParameter( id ),id ); 491 } 492 493 /** 494 * æŒ?®šã?スコープã?å†?ƒ¨ã‚ャãƒ?‚·ãƒ¥æƒ??ã«ã€DBTableModel ã®é¸æŠžã•れãŸå€¤ã‚’登録ã—ã¾ã™ã? 495 * 496 * è¤?•°é¸æŠžè¡ŒãŒå˜åœ¨ã™ã‚‹å ´åˆã?ã€å?é 行を処ç?—ã¾ã™ã?ãŸã ã—ã?action="APPEND"ã® 497 * å ´åˆã?ã€separator属æ?ã§æŒ?®šã•ã‚ŒãŸæ–?—を使用ã—ã¦ã€??çµã—ã¾ã™ã? 498 * 499 * @og.rev 3.5.5.2 (2004/04/02) æ–°è¦ä½œæ? 500 * @og.rev 3.5.5.5 (2004/04/23) URLã«é€£çµã™ã‚‹DBTableModelã®ã‚«ãƒ©ãƒ?‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã? 501 * @og.rev 3.8.0.4 (2005/08/08) dbkeys ã?null ã®å ´åˆã«å…¨ä»¶å–å¾—ã—ã¦ã?Ÿå‡¦ç?‚’䏿¢ã—ã¾ã™ã? 502 * @og.rev 3.8.0.8 (2005/10/03) dbkeys ã?null ã®å ´åˆã«å…¨ä»¶å–å¾—ã—ã¦ã?Ÿå‡¦ç?‚’復活ã—ã¾ã™ã? 503 * @og.rev 3.8.5.1 (2006/04/28) vals="[カラãƒ?]" ã¨ã?†å¼•æ•°ã‚’å?ç?§ãる機è?を追åŠ?? 504 * @og.rev 3.8.5.1 (2006/04/28) dbkeys ã?null ã®å ´åˆã«å…¨ä»¶å–å¾—ã™ã‚‹ã‹ã©ã?‹ã‚?COMMON_FORWARD_DBKEYS_NULL_ALL ã§æŒ?®šã—ã¾ã™ã? 505 * @og.rev 4.0.0.0 (2007/05/23) tableId ã‚’ã“ã®ãƒ¡ã‚½ãƒ?ƒ‰å†?§æ±‚ã‚ã¾ã™ã? 506 * 507 * @return DBTableModelã®é¸æŠžã•れãŸå€¤ã®æ–?—å? 508 */ 509 private String getTableUrlData() { 510 String tableId = nval( getSubmitRequestParameter( tableIdTemp ),HybsSystem.TBL_MDL_KEY ); 511 512 DBTableModel table = (DBTableModel)getSessionAttribute( tableId ); 513 514 String dbkeysUrl = ""; 515 String tblkeysUrl = ""; 516 517 if( table != null ) { 518 String[] keys = null; 519 String[] vals = null; 520 if( dbkeys != null ) { 521 keys = StringUtil.csv2Array( dbkeys ); 522 vals = new String[keys.length]; 523 for( int i=0; i<keys.length; i++ ) { 524 int clmNo = table.getColumnNo( keys[i] ); 525 vals[i] = table.getValue(rowNo,clmNo); 526 } 527 } 528 529 dbkeysUrl = XHTMLTag.urlEncode( keys, vals ); 530 531 // 3.8.5.1 (2006/04/28) vals="[カラãƒ?]" ã¨ã?†å¼•æ•°ã‚’å?ç?§ãる機è?を追åŠ?? 532 int size = submitTableMap.size(); 533 if( size > 0 ) { 534 @SuppressWarnings("rawtypes") 535 Map.Entry[] entry = submitTableMap.entrySet().toArray( new Map.Entry[size] ); 536 537 String[] tblkeys = new String[size]; 538 String[] tblvals = new String[size]; 539 540 for( int i=0; i<size; i++ ) { 541 tblkeys[i] = (String)entry[i].getKey(); 542 String temp = (String)entry[i].getValue(); 543 int clmNo = table.getColumnNo( temp ); 544 tblvals[i] = table.getValue( rowNo,clmNo ); 545 } 546 tblkeysUrl = XHTMLTag.urlEncode( tblkeys, tblvals ); 547 } 548 } 549 550 String rtn = dbkeysUrl; 551 552 if( tblkeysUrl.length() > 0 ) { 553 if( rtn.length() > 0 ) { 554 rtn += "&" + tblkeysUrl; 555 } 556 else { 557 rtn = tblkeysUrl ; 558 } 559 } 560 return rtn ; 561 } 562 563 /** 564 * ã€TAG】DBã‚ーをCSV å½¢å¼ã§ã‚»ãƒ?ƒˆã—ã¾ã™ã? 565 * 566 * @og.tag 567 * URI ã®å¼•æ•°ã«ã‚»ãƒ?ƒˆã™ã‚‹ã‚ーã‚?CSV å½¢å¼ã§ã‚»ãƒ?ƒˆã—ã¾ã™ã? 568 * ã“ã“ã®æŒ?®šã?,DBTableModel 上ã?ãƒ??ã‚¿ã‚’å–り込ã¿ã¾ã™ã? 569 * 570 * @og.rev 3.5.5.5 (2004/04/23) URLã«é€£çµã™ã‚‹DBTableModelã®ã‚«ãƒ©ãƒ?‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã? 571 * @og.rev 3.5.5.8 (2004/05/20) å†?ƒ¨ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Map ã‚’å‚ç…§ã§ãるよã†ã«ã™ã‚‹ã€? 572 * 573 * @param key DBã‚ー(CSV å½¢å¼? 574 */ 575 public void setDbkeys( final String key ) { 576 // 注æ„?引数ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå¤‰æ•°ãŒç„¡ã‘れã°ã€è?åˆ??身({@XXX}å½¢å¼?ã‚’å?ã‚»ãƒ?ƒˆã™ã‚‹ã€? 577 dbkeysTemp = nval( getRequestParameter( key ),key ) ; 578 } 579 580 /** 581 * å†?ƒ¨ã®ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Map よりã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ‘ラメータより値をè¨å®šã—ã¾ã™ã? 582 * 583 * submitã‚¿ã‚°ã® keys,vals よりé€ä¿¡ã•れãŸãƒªã‚¯ã‚¨ã‚¹ãƒˆå?ã¯ã€ã“ã®ã‚¯ãƒ©ã‚¹ã§ 584 * 処ç?•れã?å†?ƒ¨ã®ä»®æƒ³ãƒªã‚¯ã‚¨ã‚¹ãƒ?Map ã«ä¿å˜ã•れã¾ã™ã? 585 * 通常ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆè¨å®šæ™‚点ã§ã¯ã€ã“ã®å€¤ã¯å–り出ã™ã“ã¨ãŒå?æ¥ãªã?‚ºã€? 586 * Map ã«ä¿å?getForwardURI 処ç?§è¨å®?ã•れãŸå¾Œã«ã€å¼•ã出ã—ã¾ã™ã? 587 * 588 * @og.rev 3.5.5.8 (2004/05/20) æ–°è¦ä½œæ? 589 * 590 * @param key DBã‚ー(CSV å½¢å¼? 591 * 592 * @return 仮想リクエスãƒ?Map ã‚’åæ˜?•ã›ãŸã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆå? 593 */ 594 private String getSubmitRequestParameter( final String key ) { 595 String rtn = key; 596 597 // 変数ã?"{@XXXX}" ã®å ´åˆã?ã¿å¯¾å¿? 598 if( key != null && key.startsWith( "{@" ) && key.charAt(key.length()-1) == '}' ) { 599 rtn = submitRequestMap.get( key.substring( 2,key.length()-1 ) ); 600 } 601 602 return rtn; 603 } 604 605 /** 606 * ã€TAG】éžé¸æŠžçŠ¶æ…‹ã?å ´åˆã«forwardを許å¯ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true)ã€? 607 * 608 * @og.tag 609 * åˆæœŸå€¤ã¯trueãŒè¨å®šã•れã¦ã?¾ã? 610 * falseã«ã™ã‚‹ã¨è¨±å¯ã•れã¾ã? 611 * 612 * @og.rev 4.0.0.0 (2007/11/09) æ–°è¦ä½œæ? 613 * 614 * @param flag éžé¸æŠžçŠ¶æ…‹ã?forwardã‚’è¨±å¯ [true:ä¸è¨±å¯/false:許å¯] 615 */ 616 public void setUseRedirectCheck(final String flag) { 617 isRedirectCheck = nval( getRequestParameter( flag ),isRedirectCheck ); 618 } 619 620 // private boolean isUseRedirectCheck() { 621 // return isRedirectCheck; 622 // } 623 624 /** 625 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 626 * 627 * @og.rev 4.3.1.1 (2008/08/23) æ–°è¦è¿½åŠ? 628 * @serialData 629 * 630 * @param strm ObjectOutputStreamオブジェクãƒ? 631 */ 632 private void writeObject( final ObjectOutputStream strm ) throws IOException { 633 strm.defaultWriteObject(); 634 } 635 636 /** 637 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 638 * 639 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã? 640 * 641 * @og.rev 4.3.1.1 (2008/08/23) æ–°è¦è¿½åŠ? 642 * @serialData 643 * 644 * @param strm ObjectInputStreamオブジェクãƒ? 645 * @see #release2() 646 */ 647 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException { 648 strm.defaultReadObject(); 649 submitRequestMap = new HashMap<String,String>(); 650 submitTableMap = new HashMap<String,String>(); 651 } 652 653 /** 654 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã? 655 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã? 656 * 657 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?è¡¨ç¾ 658 */ 659 @Override 660 public String toString() { 661 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 662 .println( "VERSION" ,VERSION ) 663 .println( "rowCount" ,rowCount ) 664 // .println( "useTableData" ,useTableData ) 665 // .println( "tableId" ,tableId ) 666 .println( "rowNo" ,rowNo ) 667 .println( "dbkeys" ,dbkeys ) 668 // .println( "useTableTemp" ,useTableTemp ) 669 .println( "tableIdTemp" ,tableIdTemp ) 670 .println( "dbkeysTemp" ,dbkeysTemp ) 671 .println( "Other..." ,getAttributes().getAttribute() ) 672 .fixForm().toString() ; 673 } 674 }