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 org.opengion.fukurou.util.XHTMLTag;
021 import org.opengion.hayabusa.common.HybsSystem;
022 import org.opengion.hayabusa.resource.GUIInfo;
023
024 /**
025 * ãƒ?‚ストフィールドã?入力を補助ã™ã‚‹ãƒãƒƒãƒ—ã‚¢ãƒ??を作æ?ã—ã¾ã™ã?
026 *
027 * 通常ã®ãƒ?‚ストフィールドã«çµ?¿è¾¼ã‚?‚±ãƒ¼ã‚¹ã¨ã€ä¸?¦§è¡¨ã«çµ?¿è¾¼ã‚?‚±ãƒ¼ã‚¹ã«å¯¾å¿œã—ã¦ã?¾ã™ã?
028 * 基本çš?«ã¯ã€columnMarker ã‚¿ã‚°ã¨åŒã˜ä½¿ã?–¹ã§ã™ãŒã€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ãŒæ›¸ãè¾¼ã¿è¨±å¯æ™‚ã«è¡¨ç¤ºã•ã›ã‚‹å¿?¦ãŒ
029 * ã‚ã‚‹ãŸã‚ã€å®Ÿéš›ã«ã¯ã€viewMarker ã® isRendere="false" ã§ä½¿ç”¨ã™ã‚‹ã‚±ãƒ¼ã‚¹ãŒå¤šã„ã¨æ€ã„ã¾ã™ã?
030 * ãªãŠã?ãƒãƒƒãƒ—ã‚¢ãƒ??専用ãªã®ã§ href="index.jsp" target="CONTENTS" ãŒãƒ‡ãƒ•ォルトã§è¨å®šã•れã¦ã?¾ã™ã?
031 *
032 * @og.formSample
033 * â—å½¢å¼ï¼?lt;og:popup gamenId="…" href="…" keys="…,…" vals="…,…" rtnKeys="…,…" />
034 * â—body?šãªã?
035 *
036 * â—Tag定義??
037 * <og:popup
038 * name ã€TAG】ã“ã®è¦ç´?‚’リンクã®å¯¾è±¡ã¨ã™ã‚‹ãŸã‚ã®åå‰ã‚’指定ã—ã¾ã?
039 * gamenId ã€TAG】画é¢ID属æ?を登録ã—ã¾ã?
040 * href ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã?URLを指定ã—ã¾ã?åˆæœŸå€¤:index.jsp)
041 * keys ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã«æ¸¡ã™å?力ã‚ーé…å?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
042 * vals ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã«æ¸¡ã™å?é…å?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
043 * rtnKeys ã€TAG】ã?ãƒ??ã‚¢ãƒ??先よりå—ã‘å–ã‚‹ã‚ーé…å?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
044 * column ã€TAG】リンクをã¤ã‘ãŸã?‚«ãƒ©ãƒ?‚’æŒ?®šã—ã¾ã?
045 * onMark ã€TAG】リンクを張ã‚?true or 1)/張らãªã?false or 0)ã®è¨å®šã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:true)
046 * markList ã€TAG】å?ç?™ã‚‹ã?ークをã?"|"区åˆ?‚Šã®æ–?—å?ã§æŒ?®šã—ã¾ã?
047 * height ã€TAG】ダイアãƒã‚°ã®ç¸¦å¹?‚’ãƒ”ã‚¯ã‚»ãƒ«æ•°ã§æŒ?®šã—ã¾ã?
048 * width ã€TAG】ダイアãƒã‚°ã®æ¨ªå¹?‚’ãƒ”ã‚¯ã‚»ãƒ«æ•°ã§æŒ?®šã—ã¾ã?
049 * src ã€TAG】表示ã•ã›ã‚‹ç”»åƒã?URLを指定ã—ã¾ã?
050 * charset ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã?æ–?—コードセãƒ?ƒˆã‚’指定ã—ã¾ã?
051 * target ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã?表示ターゲãƒ?ƒˆã‚’指定ã—ã¾ã?åˆæœŸå€¤:CONTENTS)
052 * caseKey ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶ã‚ーを指定ã—ã¾ã?åˆæœŸå€¤:null)
053 * caseVal ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶å€¤ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
054 * caseNN ã€TAG】指定ã?値ãŒã?null/ã‚¼ãƒæ–?—å? ã§ãªã??å?Not Null=NN)ã¯ã€ã“ã®ã‚¿ã‚°ã¯ä½¿ç”¨ã•れã¾ã?åˆæœŸå€¤:true)
055 * caseNull ã€TAG】指定ã?値ãŒã?null/ã‚¼ãƒæ–?—å? ã®å ´åˆã?ã€ã“ã®ã‚¿ã‚°ã¯ä½¿ç”¨ã•れã¾ã?åˆæœŸå€¤:true)
056 * id ã€HTML】è¦ç´?«å¯¾ã—ã¦å›ºæœ‰ã?åå‰(id)ã‚’ã¤ã‘ã‚‹å ´åˆã«è¨å®šã—ã¾ã?
057 * lang ã€HTML】è¦ç´??å†?®¹ã¨ä»–ã?属æ?値ã®è¨?ª?lang,xml:lang)を指定ã—ã¾ã?
058 * dir ã€HTML】文å—表記ã?æ–¹å?dir)を指定ã—ã¾ã?
059 * title ã€HTML】è¦ç´?«å¯¾ã™ã‚‹è£œè¶³çš?ƒ…å ±(title)ã‚’è¨å®šã—ã¾ã?
060 * style ã€HTML】ã“ã®è¦ç´?«å¯¾ã—ã¦é©ç”¨ã•ã›ã‚‹ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒ?style)ã‚’è¨å®šã—ã¾ã?
061 * tabindex ã€HTML】タブã?移動é?(tabindex)を指定ã—ã¾ã?0 ??32767)
062 * accesskey ã€HTML】アクセスã‚ー(alt+ã‚ーã§ç›´æŽ¥æŒ?®?を割り当ã¦ã¾ã?
063 * clazz ã€HTML】è¦ç´?«å¯¾ã—㦠class 属æ?ã‚’è¨å®šã—ã¾ã?
064 * lbl ã€TAG】ラベルリソースã®ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?
065 * language ã€TAG】タグå†?ƒ¨ã§ä½¿ç”¨ã™ã‚‹è¨?ªžã‚³ãƒ¼ãƒ‰[ja/en/zh/…]を指定ã—ã¾ã?
066 * command ã€TAGã€?通常使ã?¾ã›ã‚“)処ç??実行をæŒ?®šã™ã‚?command ã‚’è¨å®šã§ãã¾ã?åˆæœŸå€¤:NEW)
067 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
068 * />
069 *
070 * â—使用ä¾?
071 * ・普通ã?ãƒãƒƒãƒ—ã‚¢ãƒ??
072 * <og:popup gamenId="GE0002" href="index.jsp" target="CONTENTS"
073 * keys="AAA,BBB,CCC" vals="{@AAA},{@B},ABC"
074 * rtnKeys="DDD,EEE" />
075 *
076 * ・QUERYã®å…¥åŠ›ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«çµ?¿è¾¼ã‚?
077 * â‘?eysã€valsã€rtnKeys ãŒã‚»ãƒ?ƒˆã•れるå?å?
078 * ã€??ã€??ã‚»ãƒ?ƒˆã•れã‚?keys ã«å¯¾ã—㦠vals ã®å€¤ã‚’ã?ãƒ??ã‚¢ãƒ??ç”»é¢ã«æ¸¡ã—ã?ãƒãƒƒãƒ—ã‚¢ãƒ??ç”»é¢ã®æˆ»ã‚Šå?ã‚?rtnKeys ã«ã‚»ãƒ?ƒˆã•れã¾ã™ã?
079 * <og:column name="AAA" value="{@AAA}" >
080 * <og:popup gamenId="GE0002"
081 * keys="AAA,BBB,CCC" vals="{@AAA},{@B},ABC"
082 * rtnKeys="DDD,EEE" />
083 * </og:column>
084 * â‘¡keysã€valsã€rtnKeys ãŒã‚»ãƒ?ƒˆã•れãªã??å?
085 * ã€??ã€?? ãƒãƒƒãƒ—ã‚¢ãƒ??ç”»é¢ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆå¤‰æ•° XNAME ã«å¤–å?ã®ã‚«ãƒ©ãƒ?ã€XVALUE ã«ã‚«ãƒ©ãƒ??入力å?ã€rtnKeys ã«ã‚«ãƒ©ãƒ?ã‚’è?å‹•çš„ã«ã‚»ãƒ?ƒˆã•れã¾ã™ã?
086 * <og:column name="AAA" value="{@AAA}" >
087 * <og:popup gamenId="GE0002" />
088 * </og:column>
089 *
090 * ・RESULTã®å…¥åŠ›ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«çµ?¿è¾¼ã‚?viewMarker 経由)
091 * gamenId を指定ã—ãªã‘れã°ã“ã?ç”»é¢ã¸ã®URLを作æ?ã—ã¾ã™ã?
092 * ã“ã?URLã¯ã€ãã®ç”»é¢ã® index.jsp ã«ç›´æŽ¥ã‚¸ãƒ£ãƒ³ãƒ—ã™ã‚‹ãŸã‚ã?URLã§ã™ã?
093 * <og:viewMarker command="{@command}" isRenderer="false">
094 * <og:popup gamenId="GE0002" column="ABC" onMark="[ABC]" markList="1|2|3"
095 * keys="AAA,BBB,CCC" vals="[AAA],[BBB].value,{@CCC}"
096 * rtnKeys="DDD,EEE" />
097 * </og:viewMarker>
098 *
099 * ・ãƒãƒƒãƒ—ã‚¢ãƒ??å´ã®JSPファイル(view 部åˆ?
100 *
101 * @og.group ç”»é¢éƒ¨å“?
102 * @og.rev 3.8.6.1 (2006/10/20) æ–°è¦ä½œæ?
103 *
104 * @version 0.9.0 2000/10/17
105 * @author Kazuhiko Hasegawa
106 * @since JDK1.1,
107 */
108 public class PopupTag extends HTMLTagSupport {
109 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
110 private static final String VERSION = "5.2.2.0 (2010/11/01)" ;
111
112 private static final long serialVersionUID = 522020101101L ;
113
114 private static final String DEF_BODY = "â–¼" ;
115 private static final String DEF_STYLE = "width:20px;text-align:center;" ;
116
117 private String column = null;
118 private String gamenId = null;
119 private String href = "index.jsp";
120 private String target = "CONTENTS";
121 private String onMark = "true"; // true ã¾ãŸã? 1
122 private String markList = "true|TRUE|1"; // true ã¾ãŸã? 1
123 private String height = null;
124 private String width = null;
125 private String imgsrc = null;
126 private String[] keys = null;
127 private String[] vals = null;
128 private String[] rtnKeys = null;
129
130 /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? æ–°è¦?{@value} */
131 private static final String CMD_NEW = "NEW" ; // 5.1.7.0 (2010/06/01)
132 private String command = CMD_NEW; // 5.1.7.0 (2010/06/01)
133
134 /**
135 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
136 *
137 * @og.rev 5.2.2.0 (2010/11/01) caseKey ã€caseVal 属æ?対å¿?
138 *
139 * @return 後続å?ç??æŒ?¤º
140 */
141 @Override
142 public int doEndTag() {
143 // 5.2.2.0 (2010/11/01) caseKey ã€caseVal 属æ?対å¿?
144 if( useTag() ) {
145 makeGamenLink();
146
147 // GAMENID属æ?ã®?µ?²?¬ã¸ã®è‡ªå‹•ã‚»ãƒ?ƒˆã¯è¡Œã‚ãªã??
148 ViewMarkerTag viewMark = (ViewMarkerTag)findAncestorWithClass( this,ViewMarkerTag.class );
149 if( viewMark != null ) {
150 set( "onMark" ,onMark );
151 set( "markList",markList );
152 set( "body" ,makePopup( true ) );
153
154 if( column != null && column.length() > 0 ) {
155 set( "column" ,column ); // 4.0.0 (2005/08/31) åŒä¸?‚«ãƒ©ãƒ??è¤?•°ç™»éŒ²ã‚’許å¯ã—ã¾ã™ã?
156 viewMark.addAttribute( getAttributes() );
157 }
158 }
159 else {
160 if( markList.indexOf( onMark ) >= 0 ) {
161 jspPrint( makePopup( false ) );
162 }
163 }
164 }
165 return(EVAL_PAGE);
166 }
167
168 /**
169 * 使用ã—ã¾ã›ã‚“ã€?
170 *
171 * @return (null 固�
172 */
173 @Override
174 protected String makeTag() { return null; }
175
176 /**
177 * タグリブオブジェクトをリリースã—ã¾ã™ã?
178 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã?
179 *
180 */
181 @Override
182 protected void release2() {
183 super.release2();
184 column = null;
185 gamenId = null;
186 href = "index.jsp";
187 target = "CONTENTS";
188 onMark = "true"; // true ã¾ãŸã? 1
189 markList = "true|TRUE|1"; // true ã¾ãŸã? 1
190 keys = null;
191 vals = null;
192 rtnKeys = null;
193 height = null;
194 width = null;
195 imgsrc = null;
196 command = CMD_NEW; // 5.1.7.0 (2010/06/01)
197 }
198
199 /**
200 * リンクを作æ?ã—ã¾ã™ã?
201 *
202 * @og.rev 4.2.4.0 (2008/07/01) keys,vals,rtnKeysãŒè¨å®šã•れã¦ã?ªã??åˆã?外å?ã®og:columnã‚¿ã‚°ã®name値をè¨å®šã™ã‚‹ã‚ˆã?«å¤‰æ›´
203 * @og.rev 5.1.7.0 (2010/06/01) 引数ã«commandを追åŠ?
204 * @og.rev 5.2.1.0 (2010/10/01) heightã€width ã«ã¯ã€?px" ãªã©ã®å˜ä½ã‚’付ã‘ã‚‹å‰æã§ã®å¯¾å¿?
205 * @og.rev 5.2.2.0 (2010/11/01) heightã€width ã?null ã®å ´åˆã?ã€ã‚·ãƒ³ã‚°ãƒ«ã‚¯ã‚ªãƒ¼ãƒˆã‚’ã¤ã‘ãªã??
206 *
207 * @param useKey [true:KEY付ã/false:KEYç„¡ã—]
208 *
209 * @return リンクタグæ–?—å?
210 */
211 private String makePopup( final boolean useKey ) {
212 StringBuilder rtn = new StringBuilder();
213 // rtn.append( "ogPopup( '" ).append( get( "href" ) ).append( "'," );
214 // rtn.append( height ).append( "," ).append( width ).append( "," );
215 // 5.2.1.0 (2010/10/01) px を付ã‘ã‚‹ã¨æ•°å—ã§ã¯ãªããªã‚‹ãŸã‚ã?シングルクオーãƒ??ションã§ããã‚‹ã?
216 rtn.append( "ogPopup( '" ).append( get( "href" ) ).append( "'," );
217 // 5.2.2.0 (2010/11/01) heightã€width ã?null ã®å ´åˆã?ã€ã‚·ãƒ³ã‚°ãƒ«ã‚¯ã‚ªãƒ¼ãƒˆã‚’ã¤ã‘ãªã??
218 if( height != null ) { rtn.append( "'" ).append( height ).append( "'" ); }
219 else { rtn.append( "null" ); }
220 rtn.append( "," );
221 if( width != null ) { rtn.append( "'" ).append( width ).append( "'" ); }
222 else { rtn.append( "null" ); }
223 rtn.append( "," );
224
225 String columnName = null; //4.2.4.0 2008/07/01
226 if( keys != null && keys.length > 0 ) {
227 rtn.append( "new Array(" );
228 addQuote( rtn, keys[0], false );
229 rtn.append( "," );
230 addQuote( rtn, vals[0], false );
231 for( int i = 1; i < keys.length; i++ ) {
232 rtn.append( "," );
233 addQuote( rtn, keys[i], false );
234 rtn.append( "," );
235 addQuote( rtn, vals[i], false );
236 }
237 rtn.append( ")," );
238 }
239 else {
240 ColumnTag outerColumn = (ColumnTag) findAncestorWithClass( this, ColumnTag.class );
241 columnName = ( outerColumn == null ) ? null : outerColumn.getName();
242 if( columnName != null ) {
243 rtn.append( "new Array('XNAME','" );
244 rtn.append( columnName );
245 rtn.append( "','XVALUE'," );
246 rtn.append( columnName );
247 rtn.append( ".value" );
248 rtn.append( ")," );
249 }
250 else {
251 rtn.append( "null," );
252 }
253 }
254 rtn.append( "" );
255
256 if( rtnKeys != null && rtnKeys.length > 0 ) {
257 rtn.append( "this,new Array(" );
258 addQuote( rtn, rtnKeys[0], useKey );
259 for( int i = 1; i < rtnKeys.length; i++ ) {
260 rtn.append( "," );
261 addQuote( rtn, rtnKeys[i], useKey );
262 }
263 rtn.append( ")" );
264 }
265 else if( columnName != null ) {
266 rtn.append( "this,new Array('" );
267 rtn.append( columnName );
268 rtn.append( "')" );
269 }
270 else {
271 rtn.append( "null,null" );
272 }
273
274 // 5.1.7.0 (2010/06/01) 引数ã«commandを追åŠ?
275 // rtn.append( ");" );
276 rtn.append( ",'" ).append( command ).append( "');" );
277
278 if( imgsrc == null ) {
279 set( "type" , "button" );
280 set( "body" , nval( getMsglbl(),DEF_BODY) );
281 set( "onClick", rtn.toString() );
282 set( "style" , nval( get( "style" ),DEF_STYLE) );
283 return XHTMLTag.button( getAttributes() ) ;
284 }
285 else {
286 set( "src" , imgsrc );
287 set( "title" , getMsglbl() );
288 set( "onClick", rtn.toString() );
289 set( "style" , get( "style" ) );
290 return XHTMLTag.img( getAttributes() ) ;
291 }
292 }
293
294 /**
295 * 引数 val ã®è¨å®šå?ã‚’è¨å®šã™ã‚‹ç°¡æ˜“メソãƒ?ƒ‰
296 *
297 * @param buf çµæžœã‚’æ?ç´ã™ã‚‹StringBuilderオブジェクãƒ?
298 * @param val è¨å®šå?
299 * @param useKey [true:KEY付ã/false:KEYç„¡ã—]
300 *
301 * @return (引数ã®ãƒãƒƒãƒ•ã‚¡ã¨åŒã˜ã‚ªãƒ–ジェクãƒ?
302 */
303 private StringBuilder addQuote( final StringBuilder buf, final String val, final boolean useKey ) {
304 if( useKey ) {
305 if( val != null && val.endsWith( ".value" ) ) {
306 buf.append( val.substring( 0,val.length()-6 ) ).append( "__{I}.value" );
307 }
308 else {
309 buf.append( "'" ).append( val ).append( "__{I}'" );
310 }
311 }
312 else {
313 if( val != null && val.endsWith( ".value" ) ) {
314 if( val.charAt(0) == '[' ) {
315 buf.append( val.substring( 1,val.length()-7 ) ).append( "__{I}.value" );
316 }
317 else {
318 buf.append( val );
319 }
320 }
321 else {
322 buf.append( "'" ).append( val ).append( "'" );
323 }
324 }
325 return buf ;
326 }
327
328 /**
329 * ç”»é¢?©?¤ã¨href ã‹ã‚‰ã€æŒ‡å®šã??µ?²?¬ã‚’作æ?ã—ã¾ã™ã?
330 */
331 private void makeGamenLink() {
332 if( gamenId == null || gamenId.length() == 0 ) { return ; }
333
334 GUIInfo guiInfo = getGUIInfo( gamenId ); // 4.0.0 (2005/01/31)
335 if( guiInfo == null ) { return ; } // 見ã¤ã‹ã‚‰ãªã??åˆã?ã€ã‚¢ã‚¯ã‚»ã‚¹ä¸å¯
336
337 String address = guiInfo.getRealAddress( get( "href" ) );
338 String url = getRequestParameter( address );
339 set( "href",url );
340
341 if( get( "title" ) == null ) {
342 set( "title","To:" + guiInfo.getLabel() );
343 }
344 }
345
346 /**
347 * ã€TAG】ã“ã®è¦ç´?‚’リンクã®å¯¾è±¡ã¨ã™ã‚‹ãŸã‚ã®åå‰ã‚’指定ã—ã¾ã™ã?
348 *
349 * @og.tag ã“ã?è¦ç´?‚’リンクã®å¯¾è±¡ã¨ã™ã‚‹ãŸã‚ã®åå‰ã‚’指定ã—ã¾ã™ã?
350 *
351 * @param name åå‰
352 */
353 public void setName( final String name ) {
354 set( "name",getRequestParameter( name ) );
355 }
356
357 /**
358 * ã€TAG】リンクをã¤ã‘ãŸã?‚«ãƒ©ãƒ?‚’æŒ?®šã—ã¾ã™ã?
359 *
360 * @og.tag
361 * ã“ã?カラãƒ?ã®TableModelã«å¯¾ã—ã¦ã€?ViewLink ã‚¿ã‚°ãŒå˜åœ¨ã™ã‚‹å ´åˆã?,
362 * リンクを張りã¾ã™ã?
363 *
364 * @param clm カラ�
365 */
366 public void setColumn( final String clm ) {
367 column = nval( getRequestParameter( clm ),column );
368 }
369
370 /**
371 * ã€TAG】画é¢ID属æ?を登録ã—ã¾ã™ã?
372 *
373 * @og.tag
374 * gamenId 属æ?ã¯ã€ç”»é¢IDã‚’ã‚ーã«ã€å®Ÿã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’求ã‚ã‚‹ã?ã«ä½¿ç”¨ã—ã¾ã™ã?
375 * ç”»é¢IDãŒæŒ‡å®šã•れãŸå ´åˆã?ã€å®Ÿã‚¢ãƒ‰ãƒ¬ã‚¹ã«å¤‰æ›ã™ã‚‹ã€‚指定ã•れãªã??åˆã?ã€?
376 * href 属æ?ã‚’ãã®ã¾ã¾ãƒªãƒ³ã‚¯æƒ??を作æ?ã—ã¾ã™ã?
377 * ç”»é¢IDを指定ã™ã‚‹å?åˆã? href ã¯ã€JSPファイルå?例ãˆã°ã€index.jsp ç?ã§ã™ã?
378 *
379 * @param id ç”»é¢ID
380 */
381 public void setGamenId( final String id ) {
382 gamenId = nval( getRequestParameter( id ),gamenId );
383 }
384
385 /**
386 * ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã?URLを指定ã—ã¾ã?åˆæœŸå€¤:index.jsp)ã€?
387 *
388 * @og.tag
389 * 通常ã€gamenId を指定ã—ã¦ã?‚‹å ´åˆã?ã€ãれ以é™?index.jsp , result.jsp ãªã©)を指定ã—ã¾ã™ã?
390 * 通常ã®ãƒªãƒ³ã‚¯ã®å ´åˆã?GAMENID/href ã¨ã?†ã‚¢ãƒ‰ãƒ¬ã‚¹ã«åˆæ?ã•れã¾ã™ã?( GE0001/result.jsp ãªã© )
391 * (æ£ç¢ºã«ã¯ã€ç”»é¢IDã§ã¯ãªãã?対応ã™ã‚‹ç”»é¢ADDRESSを使用ã—ã¾ã™ã?)
392 * ãƒãƒƒãƒ—ã‚¢ãƒ??専用ã®ãƒªãƒ³ã‚¯ãªã®ã§ã€å?期å?ã¯ã€index.jsp ã§ã™ã?
393 *
394 * @param href ãƒãƒƒãƒ—ã‚¢ãƒ??å…ˆã?URL
395 */
396 public void setHref( final String href ) {
397 set( "href",nval( getRequestParameter( href ),this.href ) );
398 }
399
400 /**
401 * ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã?æ–?—コードセãƒ?ƒˆã‚’指定ã—ã¾ã™ã?
402 *
403 * @og.tag ãƒãƒƒãƒ—ã‚¢ãƒ??å…ˆã?æ–?—コードセãƒ?ƒˆã‚’指定ã—ã¾ã™ã?
404 *
405 * @param charset æ–?—コードセãƒ?ƒˆ
406 */
407 public void setCharset( final String charset ) {
408 set( "charset",getRequestParameter( charset ) );
409 }
410
411 /**
412 * ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã?表示ターゲãƒ?ƒˆã‚’指定ã—ã¾ã?åˆæœŸå€¤:CONTENTS)ã€?
413 *
414 * @og.tag ãƒãƒƒãƒ—ã‚¢ãƒ??å…ˆã?表示ターゲãƒ?ƒˆã‚’指定ã—ã¾ã™ã?
415 *
416 * @param target 表示ターゲãƒ?ƒˆ
417 */
418 public void setTarget( final String target ) {
419 set( "target",nval( getRequestParameter( target ),this.target ) );
420 }
421
422 /**
423 * ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã«æ¸¡ã™å?力ã‚ーé…å?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
424 *
425 * @og.tag ãƒãƒƒãƒ—ã‚¢ãƒ??å…ˆã«æ¸¡ã™å?力ã‚ーé…å?を指定ã—ã¾ã™ã?
426 * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
427 * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
428 *
429 * @param key 渡ã™å?力ã‚ーé…å?(CSVå½¢å¼?
430 */
431 public void setKeys( final String key ) {
432 keys = getCSVParameter( key );
433 }
434
435 /**
436 * ã€TAG】ã?ãƒ??ã‚¢ãƒ??å…ˆã«æ¸¡ã™å?é…å?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
437 *
438 * @og.tag ãƒãƒƒãƒ—ã‚¢ãƒ??å…ˆã«æ¸¡ã™å?é…å?を指定ã—ã¾ã™ã?
439 * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
440 * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
441 *
442 * @param val 渡ã™å?é…å?(CSVå½¢å¼?
443 */
444 public void setVals( final String val ) {
445 vals = getCSVParameter( val );
446 }
447
448 /**
449 * ã€TAG】ã?ãƒ??ã‚¢ãƒ??先よりå—ã‘å–ã‚‹ã‚ーé…å?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
450 *
451 * @og.tag ãƒãƒƒãƒ—ã‚¢ãƒ??先よりå—ã‘å–ã‚‹ã‚ーé…å?を指定ã—ã¾ã™ã?
452 * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
453 * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
454 *
455 * @param key å—ã‘å–ã‚‹ã‚ーé…å?(CSVå½¢å¼?
456 */
457 public void setRtnKeys( final String key ) {
458 rtnKeys = getCSVParameter( key );
459 }
460
461 /**
462 * ã€TAG】リンクを張ã‚?true or 1)/張らãªã?false or 0)ã®è¨å®šã‚’æŒ?®šã—ã¾ã?åˆæœŸå€¤:true)ã€?
463 *
464 * @og.tag
465 * リンクを張るå?åˆã?ã€?true"(ã¾ãŸã? "1") リンクを張らãªã?
466 * å ´åˆã?, "true以å¤?(ã¾ãŸã? "0")ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
467 * åˆæœŸå€¤ã¯ã€?"true"(リンクを張ã‚?ã§ã™ã?
468 * ã•らã«ã€[カラãƒ?] ã§ã€å‹•çš?«ã‚«ãƒ©ãƒ??値ã§ã€ãƒªãƒ³ã‚¯ã‚’張るã?張らãªã?‚’
469 * é¸ã¶äº‹ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?値ã¯ã€?true"(ã¾ãŸã? "1") ã§ã€ã?ークã—ã¾ã™ã?
470 * ãŸã ã—ã?å˜ç‹¬ linkタグ時ã?使用ã§ãã¾ã›ã‚“ã€?
471 * 追è¨?3.5.2.0 (2003/10/20)?šmarkList属æ?ã«ã€å?ç?¯¾è±¡æ–?—å?郡を指定ã§ãã¾ã™ã?
472 * ã“れã«ã‚ˆã‚Šã€ãƒªãƒ³ã‚¯ã‚’å?ç?™ã‚‹ã‹ã©ã?‹ã®åˆ¤æ–ãŒã?true,1 以外ã«ã‚‚使用ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€?
473 *
474 * @param flag リンクã®è¨å®š[true:リンクを張ã‚?ãれ以å¤?リンクを張らãªã„]
475 */
476 public void setOnMark( final String flag ) {
477 onMark = nval( getRequestParameter( flag ),onMark );
478 }
479
480 /**
481 * ã€TAG】å?ç?™ã‚‹ã?ークをã?"|"区åˆ?‚Šã®æ–?—å?ã§æŒ?®šã—ã¾ã™ã?
482 *
483 * @og.tag
484 * markListã§ä¸Žãˆã‚‰ã‚ŒãŸæ–‡å—å?ã«ã€onMarkæ–?—å?(大æ–??å°æ–‡å—ã?区別ã‚り)ã?
485 * å«ã¾ã‚Œã¦ã?‚Œã°ã€å?ç?—ã¾ã™ã?
486 * 例ãˆã°ã€?A","B","C" ã¨ã?†æ–?—å?ãŒã?onMark ã§æŒ?®šã•れãŸ
487 * å ´åˆã«å‡¦ç?™ã‚‹ã‚ˆã?«ã—ãŸã??åˆã?ã€?A|B|C" ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
488 * markList ã«ã¯ã€[カラãƒ?]æŒ?®šãŒå¯èƒ½ã§ã™ã?(ãŸã ã—ã?å˜ç‹¬ linkタグ時ã?除ã?
489 * åˆæœŸå€¤ã¯ã€?"true|TRUE|1"ã§ã™ã?
490 *
491 * @param list 処ç?™ã‚‹ã?ーク(indexOf ã«ã‚ˆã‚‹å«ã‚?å«ã¾ãªã?ˆ¤å®?
492 */
493 public void setMarkList( final String list ) {
494 markList = nval( getRequestParameter( list ),markList );
495 }
496
497 /**
498 * ã€TAG】ダイアãƒã‚°ã®ç¸¦å¹?‚’ãƒ”ã‚¯ã‚»ãƒ«æ•°ã§æŒ?®šã—ã¾ã™ã?
499 *
500 * @og.tag
501 * 縦å¹?‚’æŒ?®šã—ã¾ã™ã?å˜ä½ã‚‚å«ã‚ã¦å…¥åŠ›ã—ã¦ãã ã•ã„ã€?
502 * è¨å®šã—ãªã??åˆã?ã€ogPopup JavaScript ã®å†?ƒ¨åˆæœŸå€¤ãŒæŽ¡ç”¨ã•れã¾ã™ã?
503 *
504 * @og.rev 5.2.1.0 (2010/10/01) heightã€width ã«ã¯ã€?px" ãªã©ã®å˜ä½ã‚’付ã‘ã‚‹å‰æã§ã®å¯¾å¿?
505 *
506 * @param ht ãƒ?‚¤ã‚¢ãƒã‚°ã®ç¸¦å¹?ピクセル数)
507 */
508 public void setHeight( final String ht ) {
509 height = nval( getRequestParameter( ht ),height );
510 if( height != null && ! height.endsWith( "px" ) ) { height += "px"; } // 5.2.1.0 (2010/10/01)
511 }
512
513 /**
514 * ã€TAG】ダイアãƒã‚°ã®æ¨ªå¹?‚’ãƒ”ã‚¯ã‚»ãƒ«æ•°ã§æŒ?®šã—ã¾ã™ã?
515 *
516 * @og.tag
517 * 横å¹?‚’æŒ?®šã—ã¾ã™ã?å˜ä½ã‚‚å«ã‚ã¦å…¥åŠ›ã—ã¦ãã ã•ã„ã€?
518 * è¨å®šã—ãªã??åˆã?ã€ogPopup JavaScript ã®å†?ƒ¨åˆæœŸå€¤ãŒæŽ¡ç”¨ã•れã¾ã™ã?
519 *
520 * @og.rev 5.2.1.0 (2010/10/01) heightã€width ã«ã¯ã€?px" ãªã©ã®å˜ä½ã‚’付ã‘ã‚‹å‰æã§ã®å¯¾å¿?
521 *
522 * @param wh ãƒ?‚¤ã‚¢ãƒã‚°ã®æ¨ªå¹?ピクセル数)
523 */
524 public void setWidth( final String wh ) {
525 width = nval( getRequestParameter( wh ),width );
526 if( width != null && ! width.endsWith( "px" ) ) { width += "px"; } // 5.2.1.0 (2010/10/01)
527 }
528
529 /**
530 * ã€TAG】表示ã•ã›ã‚‹ç”»åƒã?URLを指定ã—ã¾ã™ã?
531 *
532 * @og.tag
533 * ã“ã?属æ?ã‚’è¨å®šã™ã‚‹ã¨ã€è?動的㫠イメージリンクã§ã® onClick属æ?ã§
534 * ãƒãƒƒãƒ—ã‚¢ãƒ??ã®èµ·å‹•ç”»é¢ã‚’作æ?ã—ã¾ã™ã?
535 * ã“ã?属æ?ãŒè¨å®šã•れã¦ã?ªã??åˆã?ã€button ã§ã®èµ·å‹•ã«ãªã‚Šã¾ã™ã?
536 *
537 * @param src ç”»åƒã?URL
538 */
539 public void setSrc( final String src ) {
540 imgsrc = nval( getRequestParameter( src ),imgsrc );
541 }
542
543 /**
544 * ã€TAGã€?通常使ã?¾ã›ã‚“)処ç??実行をæŒ?®šã™ã‚?command ã‚’è¨å®šã§ãã¾ã?åˆæœŸå€¤:NEW)ã€?
545 *
546 * @og.tag
547 * ã“ã“ã§æŒ?®šã•れãŸcommandã¯ã€ã?ãƒ??ã‚¢ãƒ??ç”»é¢ã®å¼•æ•°ã¨ã—ã¦æ¸¡ã•れã¾ã™ã?
548 * åˆæœŸå€¤ã¯ã€NEW ã§ã™ã?
549 *
550 * @og.rev 5.1.7.0 (2010/06/01) æ–°è¦ä½œæ?
551 *
552 * @param cmd コマン�
553 */
554 public void setCommand( final String cmd ) {
555 command = nval( getRequestParameter( cmd ),command );
556 }
557
558 /**
559 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
560 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
561 *
562 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?表ç¾
563 */
564 @Override
565 public String toString() {
566 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
567 .println( "VERSION" ,VERSION )
568 .println( "column" ,column )
569 .println( "gamenId" ,gamenId )
570 .println( "href" ,href )
571 .println( "target" ,target )
572 .println( "onMark" ,onMark )
573 .println( "markList" ,markList )
574 .println( "height" ,height )
575 .println( "width" ,width )
576 .println( "keys" ,keys )
577 .println( "vals" ,vals )
578 .println( "rtnKeys" ,rtnKeys )
579 .println( "Other..." ,getAttributes().getAttribute() )
580 .fixForm().toString()
581 + HybsSystem.CR
582 + super.toString() ;
583 }
584 }