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.resource.GUIInfo;
021    import org.opengion.hayabusa.resource.LabelInterface;
022    import org.opengion.fukurou.util.XHTMLTag;
023    
024    import org.opengion.fukurou.util.StringUtil ;
025    import static org.opengion.fukurou.util.StringUtil.nval ;
026    
027    import java.util.Locale ;
028    
029    /**
030     * サブミãƒ?ƒˆãƒœã‚¿ãƒ³ã‚’表示ã™ã‚‹HTML拡張タグã§ã?forward.jsp ã® commonForward ã‚¿ã‚°ã¨åŒæ™‚ã«ä½¿ç”¨ã—ã¾ã?ã€?
031     *
032     * ã“ã?ã‚¿ã‚°ã¯ã€value ã«æŒ?®šã•れãŸå€¤??.jsp" ã®ç”»é¢ã¸ã‚µãƒ–ミãƒ?ƒˆã—ã¾ã™ã?
033     * ãã?éš›ã?command ã«è¨­å®šã•れãŸå€¤ã‚?é€ä¿¡ã—ã¾ã™ã?
034     * 従æ¥ã¯ã€value ã«ã€copy/modify/delete ãªã©ã€å?ç?™ã‚‹JSPã‚’å?別ã«è¨­å®šã—ã¦ã?¾ã—ãŸã®ã§ã€?
035     * command 㨠lbl ãŒæœªè¨­å®šæ™‚ã«ã¯ã€value ã®å€¤ã‚’使用ã—ã¦ã?¾ã—ãŸã€?下ä½äº’æ›æ€§ã®ãŸã‚残ã—ã¦ã?¾ã?
036     * Ver5 ã«ãªã£ã¦ã€update.jsp ã§ã™ã¹ã¦ã®å‡¦ç?‚’è¡Œã†æ–¹å‘ã§é–‹ç™ºã™ã‚‹ã«å½“ãŸã‚Šã?
037     * command 㨠lbl を記述ã™ã‚‹å¿?¦ãŒã§ã¦ãã¾ã—ãŸã€?
038     * ãã“ã§ã€ç¾åœ¨æœ?–°ç‰ˆã§ã¯ã€action 属æ?を用æ„ã—ã€command を記述ã™ã‚‹ã?‘ã§è‰¯ããªã‚Šã¾ã—ãŸã€?
039     *
040     *    [action属æ?]  [åˆæœŸè¨­å®šã•れるパラメータ郡]
041     *      INSERT       value="update" command="INSERT" lbl="INSERT"  accesskey="I"
042     *      COPY         value="update" command="COPY"   lbl="COPY"    accesskey="C"
043     *      MODIFY       value="update" command="MODIFY" lbl="MODIFY"  accesskey="M"
044     *      DELETE       value="update" command="DELETE" lbl="DELETE"  accesskey="Z"
045     *      ENTRY        value="entry"  command="ENTRY"  lbl="ENTRY"   accesskey="E"
046     *      RESET        value="reset"  command="RESET"  lbl="ENTRY"   accesskey="R"
047     *
048     * columnWritable , noWritable ã®å±žæ?追åŠ?5.2.2.0 (2010/11/01))
049     * ã“れã¯ã€å„コマンドã”ã¨ã«ã€æ¬¡ãƒšã?ジ㮠view ã®ã‚«ãƒ©ãƒ?±žæ?ã®è¨­å®šã«åˆ©ç”¨ã™ã‚‹å±žæ?ã§ã™ã?
050     * Ver4 ã§ã¯ã€keys,vals ã®ä¸?ˆ¬å¼•æ•°ã¨ã—ã¦è¨­å®šã—ã¦ã?¾ã—ãŸãŒã?ã“ã“ã§ã¯ã€å°‚用属æ?ã¨ã—ã¦
051     * 用æ„ã—ã¦ã?¾ã™ã?
052     *
053     * @og.formSample
054     * â—å½¢å¼ï¼?lt;og:submit value="…" lbl="…" />
055     * â—body?šãªã?
056     *
057     * â—Tag定義??
058     *   <og:submit
059     *       action             ã€TAG】アクション(INSERT,COPY,MODIFY,DELETE,ENTRY,RESET)を指定ã—ã¾ã?
060     *       value              ã€TAG】forward ã—ãŸã?¼ª?³?°ãƒ•ァイルåを記述ã—ã¾ã?ä¾?insert,copy,modify,delete ãªã©)
061     *       command            ã€TAG】å?ç?‚³ãƒžãƒ³ãƒ‰ã‚’登録ã—ã¾ã?åˆæœŸå€¤:大æ–?­—ã? value 属æ?値[INSERT,COPY,MODIFY,DELETE ãªã©])
062     *       gamenId            ã€TAG】gamenId 属æ?を登録ã—ã¾ã?
063     *       lbl                ã€TAG】ラベルリソースã®ãƒ©ãƒ™ãƒ«IDを指定ã—ã¾ã?
064     *       target             ã€TAG】サブミãƒ?ƒˆå…ˆã?æ–?›¸ã‚’表示ã•ã›ã‚‹ãƒ•レーãƒ??ã¾ãŸã?ウィンドウã®åå‰ã‚’指定ã—ã¾ã?
065     *       keys               ã€TAG】ã?タン専用ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚­ãƒ¼ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
066     *       vals               ã€TAG】ã?タン専用ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
067     *       roles              ã€TAG】ロールをセãƒ?ƒˆã—ã¾ã?
068     *       dbkeys             ã€TAG】commonForward ã® dbkeys ã«ã‚«ãƒ©ãƒ?Œ‡å®šã‚’行ã„ã¾ã?
069     *       optionAttributes   ã€TAG】JavaScript ãªã©ã® HTML基本タグ以外ã?属æ?ã‚’ã?ãã?ã¾ã¾ã‚¿ã‚°ã¨ã—ã¦ä½¿ç”¨ã—ã¾ã?
070     *       columnWritable     ã€TAG】書ãè¾¼ã¿å¯èƒ½ã‚«ãƒ©ãƒ?ã‚’ã?カンマ区åˆ?‚Šã§ä¸Žãˆã¾ã?
071     *       noWritable         ã€TAG】書ãè¾¼ã¿ä¸å¯ã‚«ãƒ©ãƒ?ã‚’ã?カンマ区åˆ?‚Šã§ä¸Žãˆã¾ã?
072     *       caseKey            ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶ã‚­ãƒ¼ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
073     *       caseVal            ã€TAG】ã“ã®ã‚¿ã‚°è‡ªä½“を利用ã™ã‚‹ã‹ã©ã?‹ã®æ¡ä»¶å€¤ã‚’指定ã—ã¾ã?åˆæœŸå€¤:null)
074     *       id                 ã€HTML】è¦ç´?«å¯¾ã—ã¦å›ºæœ‰ã?åå‰(id)ã‚’ã¤ã‘ã‚‹å ´åˆã«è¨­å®šã—ã¾ã?
075     *       lang               ã€HTML】è¦ç´??å†?®¹ã¨ä»–ã?属æ?値ã®è¨?ª?lang,xml:lang)を指定ã—ã¾ã?
076     *       dir                ã€HTML】文字表記ã?æ–¹å?dir)を指定ã—ã¾ã?
077     *       title              ã€HTML】è¦ç´?«å¯¾ã™ã‚‹è£œè¶³çš?ƒ…å ±(title)を設定ã—ã¾ã?
078     *       style              ã€HTML】ã“ã®è¦ç´?«å¯¾ã—ã¦é©ç”¨ã•ã›ã‚‹ã‚¹ã‚¿ã‚¤ãƒ«ã‚·ãƒ¼ãƒ?style)を設定ã—ã¾ã?
079     *       readonly           ã€TAG】ãã®éƒ¨å“ã«å¯¾ã—ã¦å¤‰æ›´ãŒå?æ¥ãªã?‚ˆã?«(readonly)æŒ?®šã—ã¾ã?サーãƒã?ã«é€ä¿¡ã•れã‚?
080     *       disabled           ã€TAG】ãã®éƒ¨å“ã«å¯¾ã—ã¦ã€?¸æŠžã‚„変更ãŒå?æ¥ãªã?‚ˆã?«(disabled)æŒ?®šã—ã¾ã?サーãƒã?ã«é€ä¿¡ã•れãªã?
081     *       tabindex           ã€HTML】タブã?移動é?(tabindex)を指定ã—ã¾ã?0 ??32767)
082     *       accesskey          ã€HTML】アクセスキー(alt+キーã§ç›´æŽ¥æŒ?®?を割り当ã¦ã¾ã?
083     *       clazz              ã€HTML】è¦ç´?«å¯¾ã—㦠class 属æ?を設定ã—ã¾ã?
084     *       language           ã€TAG】タグå†?ƒ¨ã§ä½¿ç”¨ã™ã‚‹è¨?ªžã‚³ãƒ¼ãƒ‰[ja/en/zh/…]を指定ã—ã¾ã?
085     *       onClick            ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onClick を設定ã—ã¾ã?ä¾?onClick="renew('query.jsp','QUERY');")
086     *       onBlur             ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onBlur を設定ã—ã¾ã?ä¾?onBlur="this.value=value.toUpperCase();")
087     *       onFocus            ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onFocus を設定ã—ã¾ã?
088     *       ondblClick         ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?ondblClick を設定ã—ã¾ã?
089     *       onMouseDown        ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onMouseDown を設定ã—ã¾ã?
090     *       onMouseUp          ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onMouseUp を設定ã—ã¾ã?
091     *       onMouseMove        ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onMouseMove を設定ã—ã¾ã?
092     *       onMouseOut         ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onMouseOut を設定ã—ã¾ã?
093     *       onMouseOver        ã€HTML】JavaScriptã®ã‚¤ãƒ™ãƒ³ãƒ?onMouseOver を設定ã—ã¾ã?
094     *       img                ã€TAG】画åƒã?タンを作る場åˆã?ã€ç”»åƒãƒ•ァイルを指定ã—ã¾ã?
095     *       debug              ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
096     *   />
097     *
098     * â—使用ä¾?
099     *     Ver5 推奨ケース?šæŒ‡å®šã? action 属æ?ã«è¨­å®šã•れãŸå€¤ã«å¿œã˜ãŸã?value , command , lbl , accesskey ã‚’å?期化ã—ã¾ã™ã?
100     *                      (5.2.2.0 (2010/11/01)以�
101     *     <og:writeCheck>
102     *         <og:submit  action="COPY"    noWritable="FGJ,UNIQ" />
103     *         <og:submit  action="MODIFY"  noWritable="CLM,FGJ,UNIQ" />
104     *         <og:submit  action="DELETE"  columnWritable="null" />
105     *         <og:submit  gamenId="GF9110" value="index" dbkeys="SYSTEM_ID,LANG,CLM" command="NEW" lbl="GF9100" target="CONTENTS" />
106     *         <br />
107     *     </og:writeCheck>
108     *
109     *     Ver4 ä¸?ˆ¬çš?ªã‚±ãƒ¼ã‚¹?švalue ã¯å…±é€šã«ãªã£ãŸãŸã‚ã?command 㨠lbl ã®è¨­å®šãŒå¿?¦?下ä½äº’æ›æ€§ã®ãŸã‚ã®è¨­å®?
110     *     <og:writeCheck>
111     *         <og:submit  value="update"   command="COPY"   lbl="COPY"    accesskey="C" />
112     *         <og:submit  value="update"   command="MODIFY" lbl="MODIFY"  accesskey="M" />
113     *         <og:submit  value="update"   command="DELETE" lbl="DELETE"  accesskey="Z" />
114     *         <og:submit  gamenId="GF9110" value="index" dbkeys="SYSTEM_ID,LANG,CLM" command="NEW" lbl="GF9100" target="CONTENTS" />
115     *         <br />
116     *     </og:writeCheck>
117     *
118     *     従æ¥ã®ã‚±ãƒ¼ã‚¹?švalue ã«è¨­å®šã•れãŸå€¤JSPã«å¯¾ã—ã¦ã‚µãƒ–ミãƒ?ƒˆã•れã¾ã™ã?(下ä½äº’æ›æ€§ã®ãŸã‚ã®è¨­å®?
119     *     <og:writeCheck>
120     *         <og:submit value="copy"     lbl="MSG0035" accesskey="C"  />
121     *         <og:submit value="modify"   lbl="MSG0036" accesskey="M"  />
122     *         <og:submit value="delete"   lbl="MSG0037" accesskey="Z"  />
123     *         <og:submit  gamenId="GF9110" value="index" dbkeys="SYSTEM_ID,LANG,CLM" command="NEW" lbl="GF9100" target="CONTENTS" />
124     *         <br />
125     *     </og:writeCheck>
126     *
127     * @og.rev 3.1.1.0 (2003/03/28) æ–°è¦ä½œæ?
128     * @og.group ç”»é¢åˆ¶å¾¡
129     *
130     * @version  4.0
131     * @author   Kazuhiko Hasegawa
132     * @since    JDK5.0,
133     */
134    public class SubmitTag extends HTMLTagSupport {
135            //* ã“ã?プログラãƒ??VERSIONæ–?­—å?を設定ã—ã¾ã™ã?       {@value} */
136            private static final String VERSION = "5.6.0.3 (2012/01/24)" ;
137    
138            private static final long serialVersionUID = 560320120124L ;
139    
140            //  5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
141            /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? æ–°è¦?{@value} */
142            public static final String ACT_INSERT  = "INSERT" ;
143            /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? è¤?? {@value} */
144            public static final String ACT_COPY    = "COPY" ;
145            /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? 変更 {@value} */
146            public static final String ACT_MODIFY  = "MODIFY" ;
147            /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? 削除 {@value} */
148            public static final String ACT_DELETE  = "DELETE" ;
149            /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? エントリー {@value} */
150            public static final String ACT_ENTRY   = "ENTRY" ;
151            /** command å¼•æ•°ã«æ¸¡ã™äº‹ã?出æ¥ã‚?コマンãƒ? リセãƒ?ƒˆ {@value} */
152            public static final String ACT_RESET   = "RESET" ;
153    
154            //  5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
155            private static final String[] ACTION_LIST = new String[] {
156                    ACT_INSERT , ACT_COPY , ACT_MODIFY , ACT_DELETE , ACT_ENTRY , ACT_RESET };
157    
158            //  5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
159            private enum ENUM_ACTION {
160                    // action  value      command    lbl       accesskey
161                       INSERT( "update" , "INSERT" , "INSERT" , "I" ),
162                       COPY  ( "update" , "COPY"   , "COPY"   , "C" ),
163                       MODIFY( "update" , "MODIFY" , "MODIFY" , "M" ),
164                       DELETE( "update" , "DELETE" , "DELETE" , "Z" ),
165                       ENTRY ( "entry"  , "ENTRY"  , "ENTRY"  , "E" ),
166                       RESET ( "reset"  , "RESET"  , "RESET"  , "R" ) ;
167    
168                    private final String defVal ;
169                    private final String defCmd ;
170                    private final String defLbl ;
171                    private final String defKey ;
172    
173                    ENUM_ACTION( final String val , final String cmd , final String lbl , final String key ) {
174                            defVal = val;
175                            defCmd = cmd;
176                            defLbl = lbl;
177                            defKey = key;
178                    }
179    
180                    public String getDefVal() { return defVal; }
181                    public String getDefCmd() { return defCmd; }
182                    public String getDefLbl() { return defLbl; }
183                    public String getDefKey() { return defKey; }
184            }
185    
186            private static final String TYPE = "submit" ;
187            private static final String NAME = "command" ;
188            private static final String MARGIN = "<span style=\"width: 3px;\" ></span>" ;
189    
190            private static final String IMG_PRE = "background: url(";                       // 5.5.0.0 (2012/03/01)
191            private static final String IMG_SUF = ") left top no-repeat;";          // 5.5.0.0 (2012/03/01)
192    
193            private String  action          = null;         // 5.2.2.0 (2010/11/01)
194            private String  command         = null;
195            private String  value           = null;
196            private String  gamenId         = null;
197            private String  target          = null;         // 3.5.5.2 (2004/04/02)
198            private String  dbkeys          = null;         // 4.0.0 (2007/05/23)
199    
200            private String  columnWritable  = null; // 5.2.2.0 (2010/11/01)
201            private String  noWritable              = null; // 5.2.2.0 (2010/11/01)
202    
203            private String bgImg            = null;         // 5.5.0.0 (2012/03/01)
204    
205            private String[] keys           = null;         // 3.5.5.5 (2004/04/23)
206            private String[] vals           = null;         // 3.5.5.5 (2004/04/23)
207    
208            /**
209             * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
210             *
211             * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
212             *
213             * @return      後続å?ç??æŒ?¤º( SKIP_BODY )
214             */
215            @Override
216            public int doStartTag() {
217                    // 5.2.2.0 (2010/11/01) caseKey ã€caseVal 属æ?対å¿?
218                    if( useTag() ) {
219                            // 5.1.8.0 (2010/07/01) åŒæ™‚設定ä¸å¯(columnWritable,noWritable) ãƒã‚§ãƒ?‚¯
220                            if( columnWritable != null && noWritable != null ) {
221                                    String errMsg = "columnWritable 㨠noWritable ã¯åŒæ™‚ã«æŒ?®šã§ãã¾ã›ã‚“ã€?
222                                                                    + "columnWritable = [" + columnWritable
223                                                                    + "] , noWritable = [" + noWritable
224                                                                    + "]";
225                                    throw new HybsSystemException( errMsg );
226                            }
227    
228                            // 5.2.2.0 (2010/11/01) action 属æ?ã«ã‚ˆã‚‹åˆæœŸå€¤ã®è¨­å®?
229                            if( action != null ) {
230                                    ENUM_ACTION eact = ENUM_ACTION.valueOf( action );
231                                    if( value               == null ) { value   = eact.getDefVal(); }
232                                    if( command             == null ) { command = eact.getDefCmd(); }
233                                    if( getMsglbl() == null )        { setLbl( eact.getDefLbl() ); }
234                                    if( get( "accesskey" ) == null ) { set( "accesskey",eact.getDefKey() ); }
235                            }
236                    }
237                    return( SKIP_BODY );
238            }
239    
240            /**
241             * タグリブオブジェクトをリリースã—ã¾ã™ã?
242             * キャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨­å®šã‚’行ã„ã¾ã™ã?
243             *
244             * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()ã§å‘¼ã¶ã€?
245             * @og.rev 3.5.5.2 (2004/04/02) target 属æ?ã®è¿½åŠ?
246             * @og.rev 3.5.5.5 (2004/04/23) keys,vals 属æ?ã®è¿½åŠ?
247             * @og.rev 5.2.2.0 (2010/11/01) action,columnWritable,noWritable 属æ?ã®è¿½åŠ?
248             * @og.rev 5.5.0.0 (2012/03/01) bgImg追�
249             */
250            @Override
251            protected void release2() {
252                    super.release2();
253                    action          = null;         // 5.2.2.0 (2010/11/01)
254                    command         = null;
255                    value           = null;
256                    gamenId         = null;
257                    target          = null;         // 3.5.5.2 (2004/04/02)
258                    keys            = null;         // 3.5.5.5 (2004/04/23)
259                    vals            = null;         // 3.5.5.5 (2004/04/23)
260                    dbkeys          = null;         // 4.0.0 (2007/05/23)
261                    columnWritable  = null; // 5.2.2.0 (2010/11/01)
262                    noWritable              = null; // 5.2.2.0 (2010/11/01)
263                    bgImg           = null;         // 5.5.0.0 (2012/03/01)
264            }
265    
266            /**
267             * サブミãƒ?ƒˆãƒœã‚¿ãƒ³ã‚’作æ?ã—ã¾ã™ã?
268             *
269             * @og.rev 3.3.1.1 (2003/07/03) ForwardManager クラスã®å»?­¢ã€‚飛ã?å…ˆã?キャãƒ?‚·ãƒ¥ã‚’å»?­¢ã—ã¾ã™ã?
270             * @og.rev 3.5.5.2 (2004/04/02) target 属æ?ã®è¿½åŠ?
271             * @og.rev 3.5.5.9 (2004/06/07) target 属æ?ã‚’ã?set ã§ã¯ãªã?add ã§è¿½åŠ??
272             * @og.rev 3.5.5.9 (2004/06/07) target 属æ?ã‚’ã?set ã§ã¯ãªã?add ã§è¿½åŠ??
273             * @og.rev 4.0.0.0 (2005/11/30) title 属æ?ãŒæœªè¨­å®šæ™‚ã®å‡¦ç?¿½åŠ?
274             * @og.rev 5.5.0.0 (2012/03/01) bgImg対�
275             * @og.rev 5.6.0.3 (2012/01/24) accesskey 㫠ゼロæ–?­—å?を指定ã—ãŸå?åˆã?ã‚«ãƒ?‚³()ã?‘ãŒæ®‹ã£ã¦ã—ã¾ã??
276             *
277             * @return  サブミãƒ?ƒˆãƒœã‚¿ãƒ³ã‚¿ã‚°
278             */
279            @Override
280            protected String makeTag() {
281                    StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
282    
283                    if( value == null ) {
284                            String errMsg = "value ã« null ãŒã‚»ãƒ?ƒˆã•れã¦ã?¾ã™ã?";
285                            throw new HybsSystemException( errMsg );
286                    }
287    
288                    String lbl = nval( getMsglbl(), value.toUpperCase( Locale.JAPAN ) );
289                    String accesskey = get( "accesskey" );
290    //              if( accesskey != null ) {
291                    if( accesskey != null && ! accesskey.isEmpty() ) {              // 5.6.0.3 (2012/01/24)
292                            lbl = lbl + "(" + accesskey + ")" ;
293                    }
294    
295                    // キャãƒ?‚·ãƒ¥ã‚¨ãƒ³ãƒˆãƒª
296                    command = nval( command,value.toUpperCase(Locale.JAPAN) );
297                    String valueLink = getValueLink( gamenId , value );
298                    if( valueLink == null ) { return ""; }  //      アクセスä¸å¯æ™‚ã? null
299    
300                    // 3.3.1.1 (2003/07/03) ForwardManager クラスã®å»?­¢ã€‚飛ã?å…ˆã?キャãƒ?‚·ãƒ¥ã‚’å»?­¢ã—ã¾ã™ã?
301                    rtn.append( getHiddenTag( command, lbl, valueLink ) );
302                    rtn.append( HybsSystem.CR );
303    
304                    set( "type",TYPE );
305                    set( "name",NAME );
306                    set( "value",lbl );
307    
308                    // 3.5.5.2 (2004/04/02) target 属æ?ã®è¿½åŠ?
309                    if( target != null ) {
310                            add( "onClick","this.form.target='" + target + "'",";" );       // 3.5.5.9 (2004/06/07)
311                    }
312    
313                    // 4.0.0 (2005/11/30) title 属æ?ãŒæœªè¨­å®šæ™‚ã®å‡¦ç?¿½åŠ?
314                    if( get( "title" ) == null ) {
315                            LabelInterface msglbl = getLabelInterface();
316                            if( msglbl != null ) {
317                                    String desc = msglbl.getDescription();
318                                    if( desc != null && desc.length() > 0 ) {
319                                            set( "title",desc );
320                                    }
321                            }
322                    }
323    
324                    // 5.5.0.0 Img対å¿?スタイル属æ?ã«è¿½åŠ?™ã‚‹ã?
325                    if( bgImg != null && bgImg.length() > 0 ){
326                            add("style",IMG_PRE+bgImg+IMG_SUF);
327                    }
328    
329                    rtn.append( XHTMLTag.input( getAttributes() ) );
330                    rtn.append( MARGIN );
331                    rtn.append( HybsSystem.CR );
332    
333                    return rtn.toString() ;
334            }
335    
336            /**
337             * ç”»é¢?©?¤ã¨value ã‹ã‚‰ã€æŒ‡å®šã??µ?²?¬ã‚’作æ?ã—ã¾ã™ã?
338             * ç”»é¢ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ãŒä¸Žãˆã‚‰ã‚Œã¦ã?ªã??åˆã?ã€null ã‚’è¿”ã—ã¾ã™ã?
339             *
340             * @og.rev 3.5.5.0 (2004/03/12) URLを求ã‚ã‚‹ã?ã«ã€GUIInfo#getRealAddress() を使用ã™ã‚‹ã€?
341             * @og.rev 4.0.0.0 (2005/01/31) GUIInfoã®å®Ÿã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãƒ‘ラメータをè?æ…®ã™ã‚‹ã€?
342             *
343             * @param   gamenId     ç”»é¢?©?¤
344             * @param   value       飛ã?ã—å?(XXXX.jspã®XXXX部åˆ?
345             *
346             * @return      ?µ?²?¬æ–?­—å?(アクセスä¸å¯æ™‚ã? null)
347             */
348            private String getValueLink( final String gamenId,final String value ) {
349                    String link = value + ".jsp";
350    
351                    if( gamenId != null && gamenId.length() > 0 ) {
352                            GUIInfo guiInfo = getGUIInfo( gamenId );                // 4.0.0 (2005/01/31)
353                            if( guiInfo == null ) { return null; }  // 見ã¤ã‹ã‚‰ãªã??åˆã?ã€ã‚¢ã‚¯ã‚»ã‚¹ä¸å¯
354    
355                            String address = guiInfo.getRealAddress( link );
356                            link = getRequestParameter( address );
357                    }
358    
359                    return link ;
360            }
361    
362            /**
363             * ã€TAG】アクション(INSERT,COPY,MODIFY,DELETE,ENTRY,RESET)を指定ã—ã¾ã™ã?
364             *
365             * @og.tag
366             * Ver5 ã«ãªã£ã¦ã€update.jsp ã§ã™ã¹ã¦ã®å‡¦ç?‚’è¡Œã†æ–¹å‘ã§é–‹ç™ºã™ã‚‹ã«å½“ãŸã‚Šã?
367             * command 㨠lbl を記述ã™ã‚‹å¿?¦ãŒã§ã¦ãã¾ã—ãŸã€?
368             * ãã“ã§ã€ç¾åœ¨æœ?–°ç‰ˆã§ã¯ã€action 属æ?を用æ„ã—ã€command を記述ã™ã‚‹ã?‘ã§è‰¯ããªã‚Šã¾ã—ãŸã€?
369             *
370             *    [action属æ?]  [åˆæœŸè¨­å®šã•れるパラメータ郡]
371             *      INSERT       value="update" command="INSERT" lbl="INSERT"  accesskey="I"
372             *      COPY         value="update" command="COPY"   lbl="COPY"    accesskey="C"
373             *      MODIFY       value="update" command="MODIFY" lbl="MODIFY"  accesskey="M"
374             *      DELETE       value="update" command="DELETE" lbl="DELETE"  accesskey="Z"
375             *      ENTRY        value="entry"  command="ENTRY"  lbl="ENTRY"   accesskey="E"
376             *      RESET        value="reset"  command="RESET"  lbl="ENTRY"   accesskey="R"
377             *
378             * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
379             *
380             * @param       act アクションæ–?­—å?
381             * @see         <a href="{&#064;docRoot}/constant-values.html#org.opengion.hayabusa.taglib.SubmitTag.ACT_COPY">アクション定数</a>
382             */
383            public void setAction( final String act ) {
384                    action = getRequestParameter( act );
385    
386                    if( ! check( action, ACTION_LIST ) ) {
387    
388                            StringBuilder errMsg = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
389                            errMsg.append( "æŒ?®šã?アクションã¯å®Ÿè¡Œã§ãã¾ã›ã‚“。アクションエラー" );
390                            errMsg.append( HybsSystem.CR );
391                            errMsg.append( "action=[" ).append( action ).append( "] " );
392                            errMsg.append( HybsSystem.CR );
393    
394                            for( int i=0; i<ACTION_LIST.length; i++ ) {
395                                    errMsg.append( " | " );
396                                    errMsg.append( ACTION_LIST[i] );
397                            }
398                            errMsg.append( " | " );
399                            throw new HybsSystemException( errMsg.toString() );
400                    }
401            }
402    
403            /**
404             * ã€TAG】forward ã—ãŸã?¼ª?³?°ãƒ•ァイルåを記述ã—ã¾ã?ä¾?insert,copy,modify,delete ãªã©)ã€?
405             *
406             * @og.tag
407             * ?ª?³?°ãƒ•ァイルåã?ã€æ¨™æº–ã§ã€insert,copy,modify,delete ãªã©ã¨æŒ?®šã—ã¾ã™ã?
408             * 実際ã«ã¯ã€å„JSPç”»é¢(insert.jsp,copy.jsp,modify.jsp,delete.jsp )ã«
409             * リクエストãŒè»¢é€ã•れã¾ã™ã?
410             * ã“ã??ª?³?°ãƒ•ァイルåã?ã€åŒä¸?”»é¢?©?¤å†??フォルãƒ?«å±žã—ã¦ã?‚‹å¿?¦ãŒã‚りã¾ã™ã?
411             * ã“ã“ã®?©?¤ã¯ã€?¼ª?³?°ç”»é¢ãã?ã‚‚ã?ã§ã™ã?ã§ã€å¤§æ–?­—å°æ–‡å­—ã?区別ã•れã¾ã™ã?
412             *
413             * @param   val ?ª?³?°ãƒ•ァイルå?insert,copy,modify,delete ãªã©)
414             */
415            public void setValue( final String val ) {
416                    value = nval( getRequestParameter( val ),value );
417                    if( value == null ) {
418                            String errMsg = "value ã« null ãŒã‚»ãƒ?ƒˆã•れã¦ã?¾ã™ã?";
419                            throw new HybsSystemException( errMsg );
420                    }
421            }
422    
423            /**
424             * ã€TAG】gamenId 属æ?を登録ã—ã¾ã™ã?
425             *
426             * @og.tag
427             * gamenId 属æ?ã¯ã€åˆ¥ã®ç”»é¢ã«forward ã™ã‚‹å ´åˆã«ä½¿ç”¨ã—ã¾ã™ã?
428             * 実際ã¯ã€forward ã§ã¯ãªãã?sendRedirect ã•れã¾ã™ã?
429             *
430             * @param   id gamenId 属æ?
431             */
432            public void setGamenId( final String id ) {
433                    gamenId = nval( getRequestParameter( id ),gamenId );
434            }
435    
436            /**
437             * éš?—属æ?ã‚¿ã‚°ã‚’å–å¾—ã—ã¾ã™ã?
438             * å??タンã«è¨­å®šã•れãŸå€¤ã‚’ã?éš?—フィールドã«è¨­å®šã—ã¦å—ã‘æ¸¡ã—ã—ã¾ã™ã?
439             *
440             * @og.rev 3.3.1.1 (2003/07/03) ForwardManager クラスã®å»?­¢ã€‚飛ã?å…ˆã?キャãƒ?‚·ãƒ¥ã‚’å»?­¢ã—ã¾ã™ã?
441             * @og.rev 3.5.5.5 (2004/04/23) 余計ãªãƒœã‚¿ãƒ³é–¢é€£æƒ??を転é€ã—ãªã?‚ºã«ã€ã‚­ãƒ¼ã‚’変更ã—ã¾ã™ã?
442             * @og.rev 3.5.5.5 (2004/04/23) keys,vals 属æ?ã§æŒ?®šã—ãŸå?ã‚’ã?出力ã—ã¾ã™ã?
443             * @og.rev 3.5.5.5 (2004/04/23) hidden ã®å‡ºåŠ›ã«ã€XHTMLTag.hidden を使用ã—ã¾ã™ã?
444             * @og.rev 3.8.0.8 (2005/10/03) gamenId ãŒæŒ‡å®šã•れã¦ã?‚‹å ´åˆã?ã€BACK_GAMENID ã‚’å?力ã™ã‚‹ã?
445             * @og.rev 5.2.2.0 (2010/11/01) columnWritable,noWritable 属æ?ã®è¿½åŠ?
446             *
447             * @param       command         コマン�
448             * @param       lbl                     ラベルID
449             * @param       valueLink       飛ã?å…?RL
450             *
451             * @return      éš?—属æ?ã‚¿ã‚°
452             */
453            private String getHiddenTag( final String command, final String lbl, final String valueLink ) {
454    
455                    StringBuilder strRet = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
456    
457                    String prefix = HybsSystem.NO_XFER_KEY + lbl ;
458                    strRet.append( XHTMLTag.hidden( prefix        ,valueLink ) );   // 3.5.5.5 (2004/04/23)
459                    strRet.append( XHTMLTag.hidden( prefix + "CMD",command   ) );   // 3.5.5.5 (2004/04/23)
460    
461                    // 3.5.5.5 (2004/04/23) keys,vals 属æ?ã§æŒ?®šã—ãŸå?ã‚’ã?出力ã—ã¾ã™ã?
462                    if( keys != null ) {
463                            if( keys.length != vals.length ) {
464                                    String errMsg = "SubmitTag ã® keys 㨠vals ã®å¼•æ•°ã®å€‹æ•°ãŒç•°ãªã‚Šã¾ã™ã?" + HybsSystem.CR
465                                                            + "keys=[" + StringUtil.array2csv( keys ) + "], vals=["
466                                                            + StringUtil.array2csv( vals ) + "]" ;
467                                    throw new HybsSystemException( errMsg );
468                            }
469                            for( int i=0; i<keys.length; i++ ) {
470                                    strRet.append( XHTMLTag.hidden( prefix + "KEY_" + keys[i],vals[i] ) );  // 3.5.5.5 (2004/04/23)
471                            }
472                    }
473    
474                    // 4.0.0 (2007/05/23) dbkeys ãŒæŒ‡å®šã•れã¦ã?‚‹å ´å?
475                    if( dbkeys != null && dbkeys.length() > 0 ) {
476                            strRet.append( XHTMLTag.hidden( prefix + "KEY_dbkeys",dbkeys ) );       // 4.0.0 (2007/05/23)
477                    }
478    
479                    // 3.8.0.8 (2005/10/03) gamenId ãŒæŒ‡å®šã•れã¦ã?‚‹å ´åˆã?ã€BACK_GAMENID ã‚’å?力ã™ã‚‹ã?
480                    if( gamenId != null && gamenId.length() > 0 ) {
481                            String backGamenId = getGUIInfoAttri( "KEY" );
482                            strRet.append( XHTMLTag.hidden( prefix + "KEY_BACK_GAMENID",backGamenId ) );
483                    }
484    
485                    // 5.2.2.0 (2010/11/01) columnWritable,noWritable 属æ?ã®è¿½åŠ?
486                    if( columnWritable != null ) {
487                            strRet.append( XHTMLTag.hidden( prefix + "KEY_columnWritable",columnWritable ) );
488                    }
489                    if( noWritable != null ) {
490                            strRet.append( XHTMLTag.hidden( prefix + "KEY_noWritable",noWritable ) );
491                    }
492    
493                    return strRet.toString();
494            }
495    
496            /**
497             * ã€TAG】å?ç?‚³ãƒžãƒ³ãƒ‰ã‚’登録ã—ã¾ã?åˆæœŸå€¤:大æ–?­—ã? value 属æ?値[INSERT,COPY,MODIFY,DELETE ãªã©])ã€?
498             *
499             * @og.tag
500             * command 属æ?を指定ã—ãªã??åˆã?ã€ã“ã®value 属æ?値ãŒã?コマンドã«ãªã‚Šã¾ã™ã?
501             * value 属æ?ã«ã€insert,copy,modify,delete ãªã©ã¨æŒ?®šã•れã¦ã?Ÿå ´åˆã?ã€?
502             * ãれãžã‚Œã€INSERT,COPY,MODIFY,DELETE ã¨ã?†ã‚³ãƒžãƒ³ãƒ‰ã«ãªã‚Šã¾ã™ã?
503             * コマンドã?ã€å¤§æ–?­—ã§ã™ã?
504             *
505             * @param       cmd コマン�
506             */
507            public void setCommand( final String cmd ) {
508                    command = nval( getRequestParameter( cmd ),command );
509                    if( command != null ) { command = command.toUpperCase(Locale.JAPAN); }
510            }
511    
512            /**
513             * ã€TAG】サブミãƒ?ƒˆå…ˆã?æ–?›¸ã‚’表示ã•ã›ã‚‹ãƒ•レーãƒ??ã¾ãŸã?ウィンドウã®åå‰ã‚’指定ã—ã¾ã™ã?
514             *
515             * @og.tag サブミãƒ?ƒˆå…ˆã?フレーãƒ?(ターゲãƒ?ƒˆå±žæ?)を設定ã—ã¾ã™ã?
516             *
517             * @og.rev 3.5.5.2 (2004/04/02) æ–°è¦è¿½åŠ?
518             *
519             * @param       flag サブミãƒ?ƒˆå…ˆã?æ–?›¸ã®ãƒ•レーãƒ?(ターゲãƒ?ƒˆå±žæ?)
520             */
521            public void setTarget( final String flag ) {
522                    target = nval( getRequestParameter( flag ),target );
523            }
524    
525            /**
526             * ã€TAG】ã?タン専用ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚­ãƒ¼ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
527             *
528             * @og.tag
529             * ã“ã?サブミãƒ?ƒˆãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸå?åˆã?ã¿ã€è»¢é€ã•れるリクエスト情報ã®
530             * キーを設定ã§ãã¾ã™ã?カンマ区åˆ?‚Šã§è¤?•°æŒ?®šã§ãã¾ã™ã?
531             * vals 属æ?ã«ã¯ã€ã‚­ãƒ¼ã«å¯¾å¿œã™ã‚‹å?ã‚’ã?設定ã—ã¦ãã ã•ã„ã€?
532             * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
533             * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
534             *
535             * @og.rev 3.5.5.5 (2004/04/23) æ–°è¦è¿½åŠ?
536             * @og.rev 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用
537             *
538             * @param       key ãƒœã‚¿ãƒ³ãŒæŠ¼ã•ã‚ŒãŸæ™‚ã«è»¢é€ã™ã‚‹ã‚­ãƒ¼
539             */
540            public void setKeys( final String key ) {
541                    keys = getCSVParameter( key );
542            }
543    
544            /**
545             * ã€TAG】ã?タン専用ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆå?ã‚’CSVå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
546             *
547             * @og.tag
548             * キーã«å¯¾å¿œã—ãŸå?ã‚’ã?カンマ区åˆ?‚Šæ–?­—ã§è¤?•°æŒ?®šå?æ¥ã¾ã™ã?
549             * æŒ?®šé?åºã?ã€ã‚­ãƒ¼ã¨åŒã˜ã«ã—ã¦ãŠã„ã¦ä¸‹ã•ã??
550             * åˆ?§£æ–¹æ³•ã?ã€CSV変数をå?ã«åˆ?§£ã—ã¦ã‹ã‚‰ã€getRequestParameter ã§å€¤ã‚’å–å¾—ã—ã¾ã™ã?
551             * ã“ã†ã—ãªã?¨ãƒ??タ自身ã«ã‚«ãƒ³ãƒžã‚’æŒã£ã¦ã?‚‹å ´åˆã«åˆ?§£ã‚’ミスる為ã§ã™ã?
552             *
553             * @og.rev 3.5.5.5 (2004/04/23) æ–°è¦è¿½åŠ?
554             * @og.rev 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用
555             *
556             * @param       val keys属æ?ã«å¯¾å¿œã™ã‚‹å?
557             */
558            public void setVals( final String val ) {
559                    vals = getCSVParameter( val );
560            }
561    
562            /**
563             * ã€TAG】commonForward ã® dbkeys ã«ã‚«ãƒ©ãƒ?Œ‡å®šã‚’行ã„ã¾ã™ã?
564             *
565             * @og.tag
566             * カラãƒ?Œ‡å®šã?ã€CSVå½¢å¼?カンマ区åˆ?‚Š)ã§æŒ?®šã—ã¦ãã ã•ã„ã€?
567             * ãªãŠã?引数ã¯ã€è?å‹•çš„ã«å—ã‘ã‚‹ã?ã§ã¯ãªãã?commonForward ã‚¿ã‚°ã«ã€?
568             * dbkeys="{&#064;dbkeys}" ã®è¨˜è¿°ã¯å¿?¦ã§ã™ã?
569             *
570             * @og.rev 4.0.0.0 (2007/05/23) æ–°è¦è¿½åŠ?
571             *
572             * @param       keys    dbkeys ã®ã«ã‚«ãƒ©ãƒ?Œ‡å®?
573             */
574            public void setDbkeys( final String keys ) {
575                    dbkeys = nval( getRequestParameter( keys ),dbkeys );
576            }
577    
578            /**
579             * ã€TAG】書ãè¾¼ã¿å¯èƒ½ã‚«ãƒ©ãƒ?ã‚’ã?カンマ区åˆ?‚Šã§ä¸Žãˆã¾ã™ã?
580             *
581             * @og.tag
582             * ã“れã¯ã€æ›¸ãè¾¼ã¿ä¸å¯ã‚«ãƒ©ãƒ?ã®æŒ?®?noWritable)ã¨åŒæ™‚ã«ã‚»ãƒ?ƒˆã™ã‚‹
583             * ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“ã€?
584             * ãªãŠã?カラãƒ?ã®ä»£ã‚りã«ã€?null" を指定ã™ã‚‹ã¨ã€ãªã«ã‚‚指定ã—ãªã?“ã¨
585             * ã«ãªã‚Šã¾ã™ã?ã¤ã¾ã‚Šã?noWritable ã«ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ?‚’æŒ?®šã™ã‚‹ã“ã¨ã¨
586             * åŒã˜ã«ãªã‚Šã¾ã™ã?(ãƒ?ƒ•ォルトãªã®ã§ã€ã‚ã¾ã‚Šæ„味ã¯ã‚りã¾ã›ã‚“ã€?
587             * "*" を指定ã™ã‚‹ã¨ã€ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ?‚’(columnWritable)æŒ?®šã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ã?
588             *
589             * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
590             *
591             * @param       columnName      例�OYA,KO,HJO,SU,DYSET,DYUPD"
592             * @see         #setNoWritable( String )
593             */
594            public void setColumnWritable( final String columnName ) {
595                    columnWritable = nval( getRequestParameter(columnName),null );
596            }
597    
598            /**
599             * ã€TAG】書ãè¾¼ã¿ä¸å¯ã‚«ãƒ©ãƒ?ã‚’ã?カンマ区åˆ?‚Šã§ä¸Žãˆã¾ã™ã?
600             *
601             * @og.tag
602             * ã“れã¯ã€æ›¸ãè¾¼ã¿å¯èƒ½ã‚«ãƒ©ãƒ?ã®æŒ?®?columnWritable)ã¨åŒæ™‚ã«ã‚»ãƒ?ƒˆã™ã‚‹
603             * ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“ã€?
604             * ãªãŠã?カラãƒ?ã®ä»£ã‚りã«ã€?null" を指定ã™ã‚‹ã¨ã€ãªã«ã‚‚指定ã—ãªã?“ã¨
605             * ã«ãªã‚Šã¾ã™ã?ã¤ã¾ã‚Šã?columnWritable ã«ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ?‚’æŒ?®šã™ã‚‹ã“ã¨ã¨
606             * åŒã˜ã«ãªã‚Šã¾ã™ã?
607             * "*" を指定ã™ã‚‹ã¨ã€ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ?‚’(noWritable)æŒ?®šã—ãŸã“ã¨ã«ãªã‚Šã¾ã™ã?
608             *
609             * @og.rev 5.2.2.0 (2010/11/01) æ–°è¦è¿½åŠ?
610             *
611             * @param       columnName      例�OYA,KO,HJO,SU,DYSET,DYUPD"
612             * @see         #setColumnWritable( String )
613             */
614            public void setNoWritable( final String columnName ) {
615                    noWritable = nval( getRequestParameter(columnName),null );
616            }
617    
618            /**
619             * ã€TAG】画åƒã?タンを作る場åˆã?ã€ç”»åƒãƒ•ァイルを指定ã—ã¾ã™ã?
620             *
621             * @og.tag
622             * ç”»åƒã?タン作æ?支æ´ã®å±žæ?ã§ã™ã?
623             * inputã‚¿ã‚°ã§type=imageã«ã—ãŸå ´åˆã?IEã§ã¯name,valueã®ã‚»ãƒ?ƒˆã?
624             * 次ã®ç”»é¢ã«æ¸¡ã•れãªã?»•様ã«ãªã£ã¦ã?‚‹ãŸã‚エンジンã®submitã§ã¯
625             * 利用ã§ãã¾ã›ã‚“ã€?ã©ã®ãƒœã‚¿ãƒ³ãŒæŠ¼ã•れãŸã‹åˆ?‹ã‚‰ãªã?
626             * ãã“ã§ã€typeã¯submitã®ã¾ã¾cssã®èƒŒæ™¯ç”»åƒã¨ã—ã¦ã“ã“ã§æŒ?®šã—ã?
627             * ç”»åƒã‚’é…ç½®ã—ã¾ã™ã?
628             * å†?ƒ¨çš?«ã¯background: url(imgFile) left top no-repeat;
629             * ã‚’styleã‚¿ã‚°ã«æ›¸ã事ã¨åŒã˜ã§ã™ã?
630             * 高ã•ã€å¹??把æ¡ã§ããªã?Ÿã‚ã?別途style属æ?ã§hight,widthを指定ã—ã¦ä¸‹ã•ã??
631             *
632             * @og.rev 5.5.0.0 (2012/03/01) æ–°è¦è¿½åŠ?
633             *
634             * @param       image   ボタンã®èƒŒæ™¯ç”»åƒ?
635             */
636            public void setImg( final String image ) {
637                    bgImg = nval( getRequestParameter(image),null );
638            }
639    
640            /**
641             * ã“ã?オブジェクトã?æ–?­—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
642             * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
643             *
644             * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?­—å?表ç¾
645             */
646            @Override
647            public String toString() {
648                    return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
649                                    .println( "VERSION"             ,VERSION        )
650                                    .println( "command"             ,command        )
651                                    .println( "value"               ,value          )
652                                    .println( "gamenId"             ,gamenId        )
653                                    .println( "target"              ,target         )
654                                    .println( "keys"                ,keys           )
655                                    .println( "vals"                ,vals           )
656                                    .println( "Other..."    ,getAttributes().getAttribute() )
657                                    .fixForm().toString() ;
658            }
659    }