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    
021    import static org.opengion.fukurou.util.StringUtil.nval ;
022    
023    import org.opengion.fukurou.util.TagBuffer;
024    import org.opengion.fukurou.util.XHTMLTag;
025    
026    /**
027     * TagSupport から継承されたサブクラスですã?
028     *
029     * 汎用属æ? のsetterメソãƒ?ƒ‰を持ってã�?�¾すã?
030     * それ以外に、{@XXXX} 変数の対応と、lang属æ?のメソãƒ?ƒ‰も用意してã�?�¾すã?
031     *
032     * ロケールは、ユーザーæƒ??の lang 属æ?をデフォルトで使用しã?
033     * セãƒ?ƒˆされてã�?�ªã�??合ã?、リクエスト情報のロケールから取得しますã?
034     *
035     * å�?±žæ?は、{@XXXX} 変数が使用できますã?
036     * これは、ServletRequest から、XXXX をキーに値を取りå?ã�?こã?変数に
037     * 割り当てますã?つまりã?こã?XXXXをキーにリクエストすれã?ã€?
038     * こã?変数に値をセãƒ?ƒˆすることができますã?
039     *
040     * http://localhost/query.jsp?KEY1=VLA1&KEY2=VAL2
041     *
042     * のようなリクエストで、{@KEY1} とすればã€?VAL1 がセãƒ?ƒˆされますã?
043     *
044     * こã?タグは、ラベル部åˆ?�¨入力フィールド部åˆ?�Œãƒ??ブルタグの<td>
045     * により左右にåˆ?‰²されますã?HTML 表示時ã?、前後に<tr>タグで囲って,
046     * 整形できますã?
047     *
048     * ※ readonly , disabled , autofocus[HTML5] , required[HTML5]  は、論理属æ?ですã?
049     * 通常は、キーワードã?みのæŒ?®šで、有効ですã?
050     * よって、readonly="false" としてもã?readonly とã�?�†キーワードが存在すると、有効になりますã?
051     * 記述ä¾? â‘?eadonly ②readonly="" ③readonly="readonly" の?“種類が推奨されますã?
052     *          「属æ?名ã? 「属æ?å�?""ã€?「属æ?å�?"属æ?å�?ã€?
053     * フレーãƒ?ƒ¯ーク側の問題として、①ã‚?‘¡の渡し方は他ã?属æ?との関係や、動çš?�ªリクエスト変数の処ç�??
054     * 関係で、③を利用しますã?またã?動的åˆ?›¿の為に、④readonly="[true/false]" も受け付けますã?
055     * å†?ƒ¨çš?�«は、readonly="true" の場合ã?、readonly="readonly" を作æ?しã?readonly="false" の場合ã?ã€?
056     * なにも作æ?しなã�?�¨ã�?�†処ç�?‚’行ってã�?�¾すã?
057     *
058     * @og.group 画面部å“?
059     *
060     * @version  4.0
061     * @author   Kazuhiko Hasegawa
062     * @since    JDK5.0,
063     */
064    abstract class HTMLTagSupport extends CommonTagSupport {
065            //* こã?プログラãƒ??VERSIONæ–?­—å?を設定しますã?       {@value} */
066            private static final String VERSION = "5.7.2.0 (2014/01/10)" ;
067    
068            private static final long serialVersionUID = 572020140110L ;
069            
070            // 5.8.4.1 (2014/02/20) AimaiPicker のタイプに対応したキーワーãƒ?
071            private static final String[] AIMAI_TEXT = new String[] { " V ", " V*", "*V ", "*V*" };
072            private static final String[] AIMAI_TITL = new String[] { "完å?ä¸??", "前方ä¸??", "後方ä¸??", "前後曖昧" };
073    
074            // 5.2.1.0 (2010/10/01) must , mustAny 属æ?をè?動化しますã?
075            private String  mustType        = null;         // 5.2.1.0 (2010/10/01)
076            // 5.7.2.0 (2014/01/10) 自動化の制御をできるようにしますã?(初期は自å‹?
077            private boolean useMustHidden = true;   // 5.7.2.0 (2014/01/10)
078            
079            //  5.8.4.1 (2014/02/20) aimai 属æ?を追åŠ??
080            private int             aimai           = -1;           // 6.2.0.0 (2015/01/30)
081    
082            /**
083             * Taglibの終äº?‚¿グが見つかったときに処ç�?�™ã‚?doEndTag() ã‚?オーバã?ライドしますã?
084             *
085             * @og.rev 3.1.1.2 (2003/04/04) Tomcat4.1 対応ã?release2() ã‚?doEndTag()で呼ぶã€?
086             * @og.rev 4.0.0.0 (2005/11/30) ロール をè?慮しますã?
087             * @og.rev 4.3.0.0 (2008/07/04) ロールモードã?ルチ対å¿?
088             * @og.rev 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
089             *
090             * @return      後続å?ç�?
091             */
092            @Override
093            public int doEndTag() {
094                    debugPrint();           // 4.0.0 (2005/02/28)
095                    // 5.2.2.0 (2010/11/01) caseKey 、caseVal 属æ?対å¿?
096                    if( useTag() && getUser().isAccess( get( "roles" ) ) ) {                        // 4.3.0.0 (2008/07/04) ロールモードã?ルチ対å¿?
097                            jspPrint( makeTag() );
098                    }
099                    return EVAL_PAGE ;
100            }
101    
102            /**
103             * タグリブオブジェクトをリリースしますã?
104             * キャãƒ?‚·ュされて再利用されるã?で、フィールドã?初期設定を行いますã?
105             *
106             * @og.rev 5.2.1.0 (2010/10/01) mustType 属æ?を追åŠ??
107             * @og.rev 5.7.2.0 (2014/01/10) useMustHidden追åŠ?
108             * @og.rev 5.8.4.1 (2015/02/20) aimai追åŠ?
109             */
110            @Override
111            protected void release2() {
112                    super.release2();
113                    mustType        = null;         // 5.2.1.0 (2010/10/01)
114                    useMustHidden = true;   // 5.7.2.0 (2013/12/10)
115                    aimai                   = -1;   // 5.8.4.1 (2015/02/20)
116            }
117    
118            /**
119             * ボタンを作æ?しますã?
120             *
121             * <button type="submit" name="名前" value="値">
122             *
123             * @return  ボタンタグæ–?­—å?
124             */
125            abstract protected String makeTag() ;
126    
127            /**
128             * 【HTML】要ç´?�«対して固有ã?名前(id)をつける場合に設定しますã?
129             *
130             * @og.tag
131             * 特別な使用方法として、id="FOCUS" とすることで、フィールド系要ç´?�«
132             * フォーカスを移動させますã?これは、そのペã?ジå†?�§唯ä¸?? id 属æ?として使用くださいã€?
133             *
134             * ※ HTML5 より、autofocus属æ?の使用が可能になりましたã€?
135             *
136             * @param   id 固有ã?名前
137             */
138            @Override
139            public void setId( final String id ) {
140                    set( "id",getRequestParameter( id ) );
141            }
142    
143            /**
144             * 【HTML】要ç´?�«対して class 属æ?を設定しますã?
145             *
146             * @og.tag
147             * Javaのè¨?ªž使用上ã?class で作æ?できなã�?�Ÿめã?代用として
148             * clazz を使用してã�?�¾すã?
149             * html で作æ?される属æ?はã€?class で作æ?されますã?
150             *
151             * @og.rev 3.5.0.0 (2003/09/17) set ではなくã?add を利用しますã?
152             *
153             * @param   cls classを表す文字å?
154             */
155            public void setClazz( final String cls ) {
156                    add( "class",getRequestParameter( cls ) );      // 3.5.5.9 (2004/06/07) セパレータ引数付きのメソãƒ?ƒ‰に変更
157            }
158    
159            /**
160             * 【HTML】要ç´??å†?®¹と他ã?属æ?値のè¨?ª?lang,xml:lang)を指定しますã?
161             *
162             * @og.tag
163             * HTMLのè¨?ªž属æ?に使われますã?æŒ?®šするå?は、ISO 639で規定されてã�?‚‹「è¨?ªžコードã?ですã?
164             * [ja/en/zh/…]などのほかに、en-US:アメリカ英語ã?en-cockney:コãƒ?‚¯ニã?英èª?などã€?
165             * 副è¨?ªžをæŒ?®šする方法も定められてã�?�¾すã?
166             * ここでは、lang と xml:lang の両方に同じ値がセãƒ?ƒˆされますã?
167             * タグの language 属æ?とは使用用途が異なりますã?
168             *
169             * @og.tag lang セãƒ?ƒˆ
170             *
171             * @param   lang è¨?ªž[ja/en/zh/…]
172             */
173            public void setLang( final String lang ) {
174                    String lng = getRequestParameter( lang );
175                    if( lng != null ) {
176                            set( "lang",lng );
177                            set( "xml:lang",lng );
178                    }
179            }
180    
181            /**
182             * 【HTML】文字表記ã?方å�?dir)を指定しますã?
183             *
184             * @og.tag
185             * 当該要ç´??書字方向をæŒ?®šする属æ?ですã?
186             * ltr で、左から右に、rtl で、右から左に並べますã?
187             *
188             * @param   dir (ltr:左から右、rtl:右から左 )
189             */
190            public void setDir( final String dir ) {
191                    set( "dir",getRequestParameter( dir ) );
192            }
193    
194            /**
195             * 【HTML】要ç´?�«対する補足çš?ƒ…報(title)を設定しますã?
196             *
197             * @og.tag
198             * title セãƒ?ƒˆは、ã?タンなどに適用すると、ã?ウスオーバã?によりこã?メãƒ?‚»ージã�?
199             * チップスのように表示されますã?これを利用して、説明文を登録することが可能ですã?
200             * ここに登録したæ–?­—å?がã?メãƒ?‚»ージリソースに存在する場合ã?、そのメãƒ?‚»ージã‚?
201             * 存在しなã�??合ã?、そのままの値を設定しますã?
202             *
203             * @og.rev 3.5.5.8 (2004/05/20) メãƒ?‚»ージリソースから読み込んだæ–?­—を使用しますã?
204             * @og.rev 4.0.0.0 (2007/10/18) メãƒ?‚»ージリソース統å�? getResource().getMessage â‡?getResource().getLabel )
205             *
206             * @param   title 補足çš?ƒ…報(title)
207             */
208            public void setTitle( final String title ) {
209                    String str = nval( getRequestParameter( title ),null );
210                    if( str != null ) {
211                            set( "title",getResource().getLabel( str ) );
212                    }
213            }
214    
215            /**
216             * 【HTML】この要ç´?�«対して適用させるスタイルシーãƒ?style)を設定しますã?
217             *
218             * @og.tag
219             * タグにstyle属æ?を設定しますã?これは、キー:値; のセãƒ?ƒˆをè¤?•°記述できますã?
220             * 通常は、class属æ?ã‚??id属æ?で登録しておきã€?lt;style type="text/css"> で
221             * 外部からæŒ?®šする方がソースは読みã‚?�™くなりますã?
222             *
223             * @param   style スタイルシーãƒ?style="color:red; font-size:24pt;" など)
224             */
225            public void setStyle( final String style ) {
226                    set( "style",getRequestParameter( style ) );
227            }
228    
229            /**
230             * 【TAG】その部品に対して変更がå?来なã�?‚ˆã�?�«(readonly)æŒ?®šしまã�?サーバã?に送信されã‚?ã€?
231             *
232             * @og.tag
233             * INPUT/TEXTAREA 系に対して、指定可能ですã?
234             * readonly="readonly" , readonly="true" が指定された場合ã?、有効ですã?
235             * false も指定å?としては、有効ですã?(大æ–?­—小文字ã?区別も不è¦?
236             * それ以外ã?æŒ?®šã?、エラーとしますã?
237             *
238             * ※ readonly は、論理属æ?ですã?
239             *
240             * @og.rev 3.7.1.0 (2005/04/26) readonly,true,false が指定できるように変更ã€?
241             *
242             * @param   ronly 読み取り専用属æ?[readonly/true/false]
243             */
244            public void setReadonly( final String ronly ) {
245                    String readonly = nval( getRequestParameter( ronly ),null );
246                    if( readonly != null ) {
247                            if( "readonly".equalsIgnoreCase( readonly ) ||
248                                    "true".equalsIgnoreCase( readonly ) ) {
249                                            set( "readonly","readonly" );
250                            }
251                            else if( ! "false".equalsIgnoreCase( readonly ) ) {
252                                    String errMsg = "readonly には、[readonly,true,false]以外ã?æ–?­—ã?æŒ?®šできませんã€?
253                                                                    + " readonly=[" + readonly + "]" + HybsSystem.CR ;
254                                    throw new HybsSystemException( errMsg );
255                            }
256                    }
257            }
258    
259            /**
260             * 【TAG】その部品に対してã€?�¸択や変更がå?来なã�?‚ˆã�?�«(disabled)æŒ?®šしまã�?サーバã?に送信されなã�?ã€?
261             *
262             * @og.tag
263             * BUTTON/INPUT/OPTGROUP/OPTION/SELECT/TEXTAREA 系に対して、指定可能ですã?
264             * disabled="disabled" , disabled="true" が指定された場合ã?、有効ですã?
265             * false も指定å?としては、有効ですã?(大æ–?­—小文字ã?区別も不è¦?
266             * それ以外ã?æŒ?®šã?、エラーとしますã?
267             *
268             * ※ disabled は、論理属æ?ですã?
269             *
270             * @og.rev 3.7.1.0 (2005/04/26) disabled,true,false が指定できるように変更ã€?
271             *
272             * @param   dis 選択や変更がå?来なã�?‚ˆã�?�«するかどã�?�‹[disabled/true/false]
273             */
274            public void setDisabled( final String dis ) {
275                    String disabled = nval( getRequestParameter( dis ),null );
276                    if( disabled != null ) {
277                            if( "disabled".equalsIgnoreCase( disabled ) ||
278                                    "true".equalsIgnoreCase( disabled ) ) {
279                                            set( "disabled","disabled" );
280                            }
281                            else if( ! "false".equalsIgnoreCase( disabled ) ) {
282                                    String errMsg = "disabled には、[disabled/true/false]以外ã?æ–?­—ã?æŒ?®šできませんã€?
283                                                                    + " disabled=[" + disabled + "]" + HybsSystem.CR ;
284                                    throw new HybsSystemException( errMsg );
285                            }
286                    }
287            }
288    
289            /**
290             * 【HTML】タブã?移動é?(tabindex)を指定しまã�?0 ??32767)ã€?
291             *
292             * @og.tag
293             * Tabキーを押したときに要ç´?�Œ選択されるé ?•ªを指定しますã?
294             * 値にはã€?�¸択させたã�??番を数値で記述しますã?
295             *
296             * @param       tabindex        タブã?移動é?(0 ??32767)
297             */
298            public void setTabindex( final String tabindex ) {
299                    set( "tabindex",getRequestParameter( tabindex ) );
300            }
301    
302            /**
303             * 【HTML】アクセスキー(alt+キーで直接æŒ?®?を割り当てますã?
304             *
305             * @og.tag
306             * アクセスキーは、ã?ウスの使えなã�?’°å¢?�§もã?リンクにジャンプするã?ボタンを押すã?入力フォーãƒ?�«
307             * フォーカスを移すなどの操作を簡単に行うことができるようにè€??されたものですã?
308             * Windows の「ファイル(F)」メニューにつã�?�¦ã�?‚‹、F と同じような働きをしますã?
309             *
310             * @param   accesskey アクセスキー
311             */
312            public void setAccesskey( final String accesskey ) {
313                    set( "accesskey",getRequestParameter( accesskey ) );
314            }
315    
316            /**
317             * 【TAG】JavaScript などの HTML基本タグ以外ã?属æ?をã?そã?ままタグとして使用しますã?
318             *
319             * @og.tag
320             * JavaScript などの HTML基本タグ以外ã?属æ?をã?そã?まま
321             * タグとして使用しますã?
322             *
323             * @og.rev 3.1.0.1 (2003/03/26) (')ã‚?")に置き換えå?ç�?�—てã�?�Ÿのを止めるã€?
324             *
325             * @param   optionAttributes HTML基本タグ以外ã?属æ?
326             */
327            public void setOptionAttributes( final String optionAttributes ) {
328                    String optAttri = getRequestParameter( optionAttributes );
329                    if( optAttri != null && optAttri.length() > 0 ) {
330                            set( "optionAttributes",optAttri );
331                    }
332            }
333    
334            /**
335             * 【HTML】JavaScriptのイベンãƒ?onClick を設定しまã�?ä¾?onClick="renew('query.jsp','QUERY');")ã€?
336             *
337             * @og.tag
338             * onClick をセãƒ?ƒˆしますã?
339             * 例えばã€?lt;og:column name="KBSAKU" onClick="renew('query.jsp','QUERY');" />
340             * のようにæŒ?®šすることで、ã?ルãƒ?‚¦ンメニューの絞込み検索が可能になりますã?
341             *
342             * @og.rev 3.5.0.0 (2003/09/17) 新規追åŠ?
343             * @og.rev 3.5.5.9 (2004/06/07) セパレータ付きの追åŠ?ƒ¡ソãƒ?ƒ‰に変更
344             *
345             * @param       onClick onClickイベンãƒ?ä¾?onClick="renew('query.jsp','QUERY');")
346             */
347            public void setOnClick( final String onClick ) {
348                    add( "onClick",getRequestParameter( onClick ),";" );
349            }
350    
351            /**
352             * 【HTML】JavaScriptのイベンãƒ?onChange を設定しまã�?ä¾?onChange="renew('query.jsp','QUERY');")ã€?
353             *
354             * @og.tag
355             * onChange をセãƒ?ƒˆしますã?
356             * 例えばã€?lt;og:column name="KBSAKU" onChange="renew('query.jsp','QUERY');" />
357             * のようにæŒ?®šすることで、ã?ルãƒ?‚¦ンメニューの絞込み検索が可能になりますã?
358             *
359             * @og.rev 3.5.0.0 (2003/09/17) 新規追åŠ?
360             * @og.rev 3.5.5.9 (2004/06/07) セパレータ付きの追åŠ?ƒ¡ソãƒ?ƒ‰に変更
361             *
362             * @param   onChange    onChangeイベンãƒ?ä¾?onChange="renew('query.jsp','QUERY');")
363             */
364            public void setOnChange( final String onChange ) {
365                    add( "onChange",getRequestParameter( onChange ),";" );
366            }
367    
368            /**
369             * 【HTML】JavaScriptのイベンãƒ?onBlur を設定しまã�?ä¾?onBlur="this.value=value.toUpperCase();")ã€?
370             *
371             * @og.tag
372             * onBlur は、フォーカスが離れたときに発生するイベントですã?
373             *
374             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
375             *
376             * @param   onBlur      onBlurイベンãƒ?ä¾?onBlur="this.value=value.toUpperCase();")
377             */
378            public void setOnBlur( final String onBlur ) {
379                    add( "onBlur",getRequestParameter( onBlur ),";" );
380            }
381    
382            /**
383             * 【HTML】JavaScriptのイベンãƒ?onFocus を設定しますã?
384             *
385             * @og.tag
386             * onFocus は、フォーカスされたときに発生するイベントですã?
387             *
388             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
389             *
390             * @param   onFocus     onFocusイベンãƒ?
391             */
392            public void setOnFocus( final String onFocus ) {
393                    add( "onFocus",getRequestParameter( onFocus ),";" );
394            }
395    
396            /**
397             * 【HTML】JavaScriptのイベンãƒ?onSelect を設定しますã?
398             *
399             * @og.tag
400             * onSelect は、テキストフィールãƒ?ãƒ?‚­ストエリアのãƒ?‚­ストが
401             * 選択されたときに発生するイベントですã?
402             *
403             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
404             *
405             * @param   onSelect    onSelectイベンãƒ?
406             */
407            public void setOnSelect( final String onSelect ) {
408                    add( "onSelect",getRequestParameter( onSelect ),";" );
409            }
410    
411            /**
412             * 【HTML】JavaScriptのイベンãƒ?ondblClick を設定しますã?
413             *
414             * @og.tag
415             * ondblClick は、ã?ウスでãƒ?ƒ–ルクリãƒ?‚¯されたときに発生するイベントですã?
416             *
417             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
418             *
419             * @param   ondblClick  ondblClickイベンãƒ?
420             */
421            public void setOndblClick( final String ondblClick ) {
422                    add( "ondblClick",getRequestParameter( ondblClick ),";" );
423            }
424    
425            /**
426             * 【HTML】JavaScriptのイベンãƒ?onMouseDown を設定しますã?
427             *
428             * @og.tag
429             * onMouseDown は、ã?ウスãƒ?‚¦ンされたときに発生するイベントですã?
430             *
431             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
432             *
433             * @param   onMouseDown onMouseDownイベンãƒ?
434             */
435            public void setOnMouseDown( final String onMouseDown ) {
436                    add( "onMouseDown",getRequestParameter( onMouseDown ),";" );
437            }
438    
439            /**
440             * 【HTML】JavaScriptのイベンãƒ?onMouseUp を設定しますã?
441             *
442             * @og.tag
443             * onMouseUp は、ã?ウスアãƒ??されたときに発生するイベントですã?
444             *
445             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
446             *
447             * @param   onMouseUp   onMouseUpイベンãƒ?
448             */
449            public void setOnMouseUp( final String onMouseUp ) {
450                    add( "onMouseUp",getRequestParameter( onMouseUp ),";" );
451            }
452    
453            /**
454             * 【HTML】JavaScriptのイベンãƒ?onMouseMove を設定しますã?
455             *
456             * @og.tag
457             * onMouseMove は、ã?ウスが移動されたときに発生するイベントですã?
458             *
459             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
460             *
461             * @param   onMouseMove onMouseMoveイベンãƒ?
462             */
463            public void setOnMouseMove( final String onMouseMove ) {
464                    add( "onMouseMove",getRequestParameter( onMouseMove ),";" );
465            }
466    
467            /**
468             * 【HTML】JavaScriptのイベンãƒ?onMouseOut を設定しますã?
469             *
470             * @og.tag
471             * onMouseOut は、ã?ウスが離れたときに発生するイベントですã?
472             *
473             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
474             *
475             * @param   onMouseOut  onMouseOutイベンãƒ?
476             */
477            public void setOnMouseOut( final String onMouseOut ) {
478                    add( "onMouseOut",getRequestParameter( onMouseOut ),";" );
479            }
480    
481            /**
482             * 【HTML】JavaScriptのイベンãƒ?onMouseOver を設定しますã?
483             *
484             * @og.tag
485             * onMouseOver は、ã?ウスが重なったときに発生するイベントですã?
486             *
487             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
488             *
489             * @param   onMouseOver onMouseOverイベンãƒ?
490             */
491            public void setOnMouseOver( final String onMouseOver ) {
492                    add( "onMouseOver",getRequestParameter( onMouseOver ),";" );
493            }
494    
495            /**
496             * 【HTML】JavaScriptのイベンãƒ?onKeydown を設定しますã?
497             *
498             * @og.tag
499             * onKeydown は、キーが押されたときに発生するイベントですã?
500             *
501             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
502             *
503             * @param   onKeydown   onKeydownイベンãƒ?
504             */
505            public void setOnKeydown( final String onKeydown ) {
506                    add( "onKeydown",getRequestParameter( onKeydown ),";" );
507            }
508    
509            /**
510             * 【HTML】JavaScriptのイベンãƒ?onKeypress を設定しますã?
511             *
512             * @og.tag
513             * onKeypress は、キーが押され続けてã�?�Ÿときに発生するイベントですã?
514             *
515             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
516             *
517             * @param   onKeypress  onKeypressイベンãƒ?
518             */
519            public void setOnKeypress( final String onKeypress ) {
520                    add( "onKeypress",getRequestParameter( onKeypress ),";" );
521            }
522    
523            /**
524             * 【HTML】JavaScriptのイベンãƒ?onKeyup を設定しますã?
525             *
526             * @og.tag
527             * onKeyup は、キーが押された状態から離されたときに発生するイベントですã?
528             *
529             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
530             *
531             * @param   onKeyup     onKeyupイベンãƒ?
532             */
533            public void setOnKeyup( final String onKeyup ) {
534                    add( "onKeyup",getRequestParameter( onKeyup ),";" );
535            }
536    
537            /**
538             * 【HTML5】å?力å?補を提示して入力å?容をè?動補完する[on/off]?ˆå?期å?はon?‰ã?
539             *
540             * @og.tag
541             * HTML5から追åŠ?�•れた新機è?ですã?
542             * オートコンプリートを有効にする場合ã?、on 、無効にする場合ã?、off を設定しますã?
543             * 初期値は、on(有効) ですã?
544             * 
545             * <datalist> タグを使用して、å?力å?補となるデータリストを定義できますã? 
546             * å�?ƒ‡ータのリストé?目はã€?lt;option>で定義しますã? <datalist>をサポã?トしたブラウザではã€?
547             * <option>でæŒ?®šされた値がユーザーに対して入力å?補として提案表示されますã? 
548             * <input>のlist属æ?の値と<datalist>のid属æ?の値を同じにして、å?力æ¬?�¨
549             * ãƒ??タリストを関連付けますã? 
550             *
551             * 利用可能type:[text,search,url,tel,email,password,datetime,date,month,week,time,datetime-local,number,range,color]
552             *
553             * <pre>
554             * &lt;og:input type="text" name="yourarea" autocomplete="on" list="tokyo" /&gt;
555             *
556             *  &lt;og:datalist id="tokyo" &gt;
557             *      &lt;og:option value="渋谷" /&gt;
558             *      &lt;og:option value="新宿" /&gt;
559             *      &lt;og:option value="æ±?¢? /&gt;
560             *  &lt;/og:datalist&gt;&lt;
561             * </pre>
562             *
563             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
564             *
565             * @param       autocomplete 入力å?補ã?自動補完ã?設å®?[on/off]?ˆå?期å?はon??
566             * @see         <a href="http://www.htmq.com/html5/input_autocomplete.shtml">autocomplete</a>
567             */
568            public void setAutocomplete( final String autocomplete ) {
569                    set( "autocomplete" , getRequestParameter( autocomplete ) );
570            }
571    
572            /**
573             * 【HTML5】指定したå?力æ¬?�«カーソルが当たって自動的にフォーカスされますã?
574             *
575             * @og.tag
576             * HTML5から追åŠ?�•れた新機è?ですã?
577             * autofocus属æ?を指定すると、ウェブã?ージが表示された際にã€?
578             * æŒ?®šしたå?力æ¬?�«カーソルが当たって自動的にフォーカスされますã?
579             *
580             * autofocus="autofocus" , autofocus="true" が指定された場合ã?、有効ですã?
581             * false も指定å?としては、有効ですã?(大æ–?­—小文字ã?区別も不è¦?
582             * それ以外ã?æŒ?®šã?、エラーとしますã?
583             *
584             * 利用可能type:[text,search,url,tel,email,password]
585             *
586             * ※ autofocus は、論理属æ?ですã?
587             *
588             * <pre>
589             * &lt;og:input type="text" name="userid" autofocus="autofocus" /&gt;
590             * </pre>
591             *
592             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
593             *
594             * @param       atfocus カーソルが当たって自動的にフォーカスされã‚?
595             * @see         <a href="http://www.htmq.com/html5/input_autofocus.shtml">autofocus</a>
596             */
597            public void setAutofocus( final String atfocus ) {
598                    String autofocus = nval( getRequestParameter( atfocus ),null );
599                    if( autofocus != null ) {
600                            if( "autofocus".equalsIgnoreCase( autofocus ) ||
601                                    "true".equalsIgnoreCase( autofocus ) ) {
602                                            set( "autofocus","autofocus" );
603                            }
604                            else if( ! "false".equalsIgnoreCase( autofocus ) ) {
605                                    String errMsg = "autofocus には、[autofocus,true,false]以外ã?æ–?­—ã?æŒ?®šできませんã€?
606                                                                    + " autofocus=[" + autofocus + "]" + HybsSystem.CR ;
607                                    throw new HybsSystemException( errMsg );
608                            }
609                    }
610            }
611    
612            /**
613             * 【HTML5】正規表現で入力å?のパターンを指定しますã?
614             *
615             * @og.tag
616             * HTML5から追åŠ?�•れた新機è?ですã?
617             * 正規表現を使って入力å?のパターンを指定することができますã?
618             *
619             * 利用可能type:[text,search,url,tel,email,password]
620             *
621             * <pre>
622             * &lt;og:input type="text" name="userid" pattern="^[0-9A-Za-z]+$" /&gt; ※半角英数
623             * </pre>
624             *
625             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
626             *
627             * @param       pattern 正規表現で入力å?のパターンを指å®?
628             * @see         <a href="http://www.htmq.com/html5/input_pattern.shtml">pattern</a>
629             */
630            public void setPattern( final String pattern ) {
631                    set( "pattern",getRequestParameter( pattern ) );
632            }
633    
634            /**
635             * 【HTML5】å?力æ¬?�«初期表示するå†?®¹を指定しますã?
636             *
637             * @og.tag
638             * HTML5から追åŠ?�•れた新機è?ですã?
639             * placeholder属æ?でæŒ?®šしたå?がã?入力æ¬?�«初期値として表示されますã?
640             * 例えば、テキストフィールドに初期値としてã€?「検索するキーワードを入力してくださいã€?
641             * などのヒントを示してユーザーの操作を補助することができますã? 
642             *
643             * 利用可能type:[text,search,url,tel,email,password]
644             *
645             * <pre>
646             * &lt;og:input type="search" name="q" placeholder="キーワードを入åŠ? /&gt;
647             * </pre>
648             *
649             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
650             *
651             * @param       placeholder 入力æ¬?�«初期表示するå†?®¹
652             * @see         <a href="http://www.htmq.com/html5/input_placeholder.shtml">placeholder</a>
653             */
654            public void setPlaceholder( final String placeholder ) {
655                    set( "placeholder",getRequestParameter( placeholder ) );
656            }
657    
658            /**
659             * 【HTML5】ユーザーに入力å?補として提案するデータリストã?要ç´??id属æ?の値を指定しますã?
660             *
661             * @og.tag
662             * HTML5から追åŠ?�•れた新機è?ですã?
663             * ユーザーに入力å?補として提案するデータリストタグ(&lt;datalist&gt;)のid属æ?ã‚?
664             * こã?、list 属æ?に設定することでã€?–¢連付けができますã?
665             * 
666             * ※
667             * å†?ƒ¨事情で、list属æ? に設定するキーもã?datalistタグのid属æ?に設定するキーもã?
668             * inputタグ(columnタグ)の name属æ???.sel" を標準的に使用してくださいã€?
669             *
670             * 利用可能type:[text,search,url,tel,email,datetime,date,month,week,time,datetime-local,number,range,color]
671             *
672             * <pre>
673             *              &lt;og:input type="search" name="keywords" autocomplete="on" list="keywords.sel" /&gt;
674             *              &lt;og:datalist id="keywords.sel"&gt;
675             *                      &lt;og:option value="ウィキペディア" /&gt;
676             *                      &lt;og:option value="ウィルス対ç­? /&gt;
677             *                      &lt;og:option value="ウィンドウズ" /&gt;
678             *              &lt;/og:datalist&gt;
679             * </pre>
680             *
681             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
682             *
683             * @param       list 入力å?補として提案するデータリストã?id属æ?の値を指å®?
684             * @see         <a href="http://www.htmq.com/html5/datalist.shtml">list</a>
685             */
686            public void setList( final String list ) {
687                    set( "list",getRequestParameter( list ) );
688            }
689    
690            /**
691             * 【HTML5】å?力æ¬?�§入力できるæœ?°�å?を指定しますã?
692             *
693             * @og.tag
694             * HTML5から追åŠ?�•れた新機è?ですã?
695             *  数値型や日付型の入力æ¬?�§入力できるæœ?°�å?を指定することができますã?
696             *
697             * 利用可能type:[datetime,date,month,week,time,datetime-local,number,range]
698             *
699             * <pre>
700             * &lt;og:input type="number" name="ninzu" min="1" max="4" /&gt;ã€??1人以ä¸?人以ä¸?
701             * </pre>
702             *
703             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
704             *
705             * @param       min 入力できるæœ?°�å?
706             * @see         <a href="http://www.htmq.com/html5/input_min.shtml">min</a>
707             */
708            public void setMin( final String min ) {
709                    set( "min",getRequestParameter( min ) );
710            }
711    
712            /**
713             * 【HTML5】å?力æ¬?�§入力できるæœ?¤§値を指定しますã?
714             *
715             * @og.tag
716             * HTML5から追åŠ?�•れた新機è?ですã?
717             *  数値型や日付型の入力æ¬?�§入力できるæœ?¤§値を指定することができますã?
718             *
719             * 利用可能type:[datetime,date,month,week,time,datetime-local,number,range]
720             *
721             * <pre>
722             * &lt;og:input type="number" name="ninzu" min="1" max="4" /&gt;ã€??1人以ä¸?人以ä¸?
723             * </pre>
724             *
725             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
726             *
727             * @param       max 入力できるæœ?¤§値
728             * @see         <a href="http://www.htmq.com/html5/input_min.shtml">max</a>
729             */
730            public void setMax( final String max ) {
731                    set( "max",getRequestParameter( max ) );
732            }
733    
734            /**
735             * 【HTML5】å?力æ¬?�§刻ã‚?‚¹ãƒ?ƒƒプå?を指定するã?
736             *
737             * @og.tag
738             * HTML5から追åŠ?�•れた新機è?ですã?
739             * step属æ?を指定するとã€?数値型や日付型の入力æ¬?�§刻ã‚?‚¹ãƒ?ƒƒプå?を指定することができますã?
740             *
741             * 利用可能type:[datetime,date,month,week,time,datetime-local,number,range]
742             *
743             * <pre>
744             * &lt;og:input type="number" name="lot" step="0.5" /&gt;ã€??単ä½?.5
745             * </pre>
746             *
747             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
748             *
749             * @param       step 入力æ¬?�§刻ã‚?‚¹ãƒ?ƒƒプå?
750             * @see         <a href="http://www.htmq.com/html5/input_step.shtml">step</a>
751             */
752            public void setStep( final String step ) {
753                    set( "step",getRequestParameter( step ) );
754            }
755    
756            /**
757             * 【HTML5】å?力å¿??を指定するã?
758             *
759             * @og.tag
760             * HTML5から追åŠ?�•れた新機è?ですã?
761             * 入力é?目がå?力å¿??であることをブラウザに知らせることができますã?
762             * 単独で、required 属æ?を使用できるようにしておきますã?
763             *
764             * フレーãƒ?ƒ¯ークの入力å¿??は、must 属æ?ですが、must 属æ?を指定したå?合にもã?
765             * シスãƒ?ƒ リソースの USE_HTML5_HEADER ã‚?true に設定してã�?‚‹場合ã?ã€?
766             * required 属æ?をå?力しますã?
767             *
768             * 利用可能type:[text,search,url,tel,email,datetime,date,month,week,time,datetime-local,number,checkbox,radio,file]
769             *
770             * ※ required は、論理属æ?ですã?
771             *
772             * <pre>
773             * &lt;og:input type="text" name="yourname" required="required" /&gt;
774             * </pre>
775             *
776             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
777             *
778             * @param       req 入力å¿??を指å®?
779             * @see         <a href="http://www.htmq.com/html5/input_required.shtml">required</a>
780             */
781            public void setRequired( final String req ) {
782                    String required = nval( getRequestParameter( req ),null );
783                    if( required != null ) {
784                            if( "required".equalsIgnoreCase( required ) ||
785                                    "true".equalsIgnoreCase( required ) ) {
786                                            set( "required","required" );
787                            }
788                            else if( ! "false".equalsIgnoreCase( required ) ) {
789                                    String errMsg = "required には、[required/true/false]以外ã?æ–?­—ã?æŒ?®šできませんã€?
790                                                                    + " required=[" + required + "]" + HybsSystem.CR ;
791                                    throw new HybsSystemException( errMsg );
792                            }
793                    }
794            }
795    
796            /**
797             * 【TAG】ロールをセãƒ?ƒˆしますã?
798             *
799             * @og.tag
800             * ここでæŒ?®šしたカラãƒ?ƒ­ールをå?に、ユーザー毎ã?アクセス許可がチェãƒ?‚¯されますã?
801             * アクセス許可されなã�?�¨、表示されませんã€?
802             * こã?ロールを指定しなã�??合ã?、カラãƒ?ƒªソースのロールが使用されますã?
803             *
804             * @og.rev 4.0.0.0 (2005/11/30) 新規追åŠ?
805             *
806             * @param       roles ロール
807             */
808            public void setRoles( final String roles ) {
809                    set( "roles",getRequestParameter( roles ) );
810            }
811    
812            /**
813             * 【TAG】å¿??入力を表す色に変えるかどã�?�‹[true/false]を指定しまã�?初期値:false)ã€?
814             *
815             * @og.tag
816             * 初期値は、å¿??でなã�?"false") ですã?
817             * シスãƒ?ƒ リソースの USE_HTML5_HEADER がã?true にæŒ?®šされてã�?‚‹場合ã?ã€?
818             * HTML5 適用として、required 属æ?もã?出力しますã?
819             *
820             * &lt;og:input name="PN" must="true" /&gt;
821             *
822             * @og.rev 5.2.1.0 (2010/10/01) 新規追åŠ?
823             * @og.rev 5.7.1.0 (2013/12/06) HTML5 対å¿?required属æ?)ã€?
824             *
825             * @param       flag    å¿??入力色に変えるかどã�?�‹[true:å¿??入åŠ?それ以å¤?å¿??でない]
826             */
827            public void setMust( final String flag ) {
828                    mustType = nval( getRequestParameter( flag ),null );
829                    if( "true".equalsIgnoreCase( mustType ) ) {
830                            mustType = "must";
831                            add( "class","must" );
832    
833                            // 5.7.1.0 (2013/12/06) HTML5 対å¿?required属æ?)ã€?
834                            if( isUseHTML5() ) {
835                                    set( "required","required" );
836                            }
837                    }
838            }
839    
840            /**
841             * 【TAG】選択å¿??入åŠ?どれかひとつå¿??)を表す色[true/mustAny/そã?他]を指定しまã�?初期値:無æŒ?®?ã€?
842             *
843             * @og.tag
844             * è¤?•°のカラãƒ??ã�?�¡、どれかひとつをå¿??とする選択å¿??入力を示す色を指定しますã?
845             * true またã?、mustAny を設定すると、class属æ?に、mustAny がセãƒ?ƒˆされますã?
846             * mustAny は、CSSファイルに初期設定されてã�?�¾すã?true またã?、mustAny 以外ã?値をセãƒ?ƒˆ
847             * すると、その値がそのまま、class属æ?にセãƒ?ƒˆされますã?でã€?�¸択å¿??のグループ化ã�?
848             * 可能ですã?
849             * なおã?実際の選択å¿??入力チェãƒ?‚¯は、ここではなくã?columnCheck タグでæŒ?®šがå¿?¦�ですã?
850             * 自動å?ç�??、mustAny="true" æŒ?®šã?場合ã?み有効ですã?
851             * 初期値は、無æŒ?®šですã?
852             *
853             * @og.rev 5.2.1.0 (2010/10/01) 新規追åŠ?
854             *
855             * @param       flag 選択å¿??入のæŒ?®š[true/mustAny/そã?他]
856             */
857            public void setMustAny( final String flag ) {
858                    if( mustType == null ) {        // must 属æ?と同時設定時には、must 属æ?を優先しますã?
859                            mustType = nval( getRequestParameter( flag ),null );
860                            if( "true".equalsIgnoreCase( mustType ) ) {
861                                    mustType = "mustAny";
862                            }
863                            add( "class",mustType );        // mustType == null の場合ã?、add されませんã€?
864                    }
865            }
866            
867            /**
868             * 【TAG】å¿??の自動チェãƒ?‚¯用Hiddenをå?力するかどã�?�‹[true/false]を指定しまã�?初期値:true)ã€?
869             *
870             * @og.tag
871             * query.jsp上でmust/mustAnyæŒ?®šしたå?合に検索時ã?å¿??チェãƒ?‚¯をè?動化するための
872             * hiddenをå?力するかどã�?�‹を選択しますã?
873             * 初期値は、å?力すã‚?"true") ですã?
874             * 通常は初期値で問題ありませんがã?å¿??のåˆ?›¿をScriptで行う場合等に邪魔になるå?合が
875             * あるため出力ã?åˆ?›¿をå?来るよã�?�«しておきますã?
876             * 
877             *
878             * @og.rev 5.7.2.0 (2013/01/10) 新規作æ?
879             *
880             * @param       flag    自動チェãƒ?‚¯用hiddenをå?力するか[true:出åŠ?それ以å¤?出力しない]
881             */
882            public void setUseMustHidden( final String flag ) {
883                    useMustHidden = nval( getRequestParameter( flag ),useMustHidden );
884            }
885            
886            /**
887             * 【TAG】曖昧検索可能フィールドとして、曖昧検索方法をæŒ?®šしまã�?初期値:null)
888             *
889             * @og.tag
890             * 従来は、clazz="aimai" として、点線ã?入力フィールドã?み作æ?してã�?�¾したがã?
891             * AimaiPicker をCallするようにして、検索方法をæŒ?®šできるようにしますã?
892             * なおã?AimaiPickerは、カラãƒ??値にã€?�¸択した条件に応じã�???‚’付与するためã?
893             * result.jsp の like にはã€?¼?‚’含めなã�?§˜に記述してくださいã€?
894             *
895             *   â‘?class="aimai" の設å®?(ほぼ、従来と同じ)
896             *   ② AimaiPicker となるã?preタグをå?åŠ?スペã?スを含ã‚?›º定å¹?–‡字にするため)
897             *   ③ aimai属æ?で、前方ä¸??、後方ä¸??、前後曖昧、完å?ä¸?? 選択が可能
898             *   ④ aimai属æ?で選択した検索方法を、submit時にvalueに反映しã?result.jsp に送信するã€?
899             *
900             * aimai属æ?のæŒ?®š方法を以下に示しますã?
901             * ã€?0" またã? "V"   :完å?ä¸??
902             * ã€?1" またã? "V*"  :前方ä¸??
903             * ã€?2" またã? "*V"  :後方ä¸??
904             * ã€?3" またã? "*V*" :前後曖昧
905             *
906             * Vはã€?,1,2,3 以外であれば、何でも構いませんã€? の位置で判定しますã?
907             *
908             * @og.rev 5.8.4.1 (2015/02/20) aimai 属æ?を追åŠ??6.2.0.0
909             *
910             * @param   val 曖昧検索æŒ?®?[0,V:完å?ä¸??/1,V*:前方ä¸??/2,*V:後方ä¸??/3,*V*:前後曖昧]
911             */
912            public void setAimai( final String val ) {
913                    String tmp = nval( getRequestParameter( val ),null );
914                    if( tmp != null && !tmp.isEmpty() ) {
915                            add( "class","aimai" );                                         // class 設定ã?先に行うå¿?¦�があるã€?
916    
917                            // 曖昧タイプã?ã€?,1,2,3,null(æŒ?®šが不æ?æ™? に再設定しなおしますã?
918                            if( tmp.length() == 1 && "0,1,2,3".indexOf( tmp ) >= 0 ) {
919                                    aimai = Integer.parseInt( tmp );
920                            }
921                            else {
922                                    int type = 0 ;                                                                  // % ã�?0å€???V:完å?ä¸?? ??0
923                                    if( tmp.endsWith(   "%" ) ) { type  = 1; }              // % ã�?後ろ?�V%:前方ä¸?? ??1
924                                    if( tmp.startsWith( "%" ) ) { type += 2; }              // % ã�?å‰? ??V:後方ä¸?? ??2
925                                                                                                                                    // 先にV%:前方ä¸??(typeを加ç®???V%:前後曖昧 ??3
926                                    aimai = type;
927                            }
928                    }
929            }
930    
931            /**
932             * mustType 属æ?を取得しますã?
933             *
934             * must , mustAny 属æ?を設定するå?合に、mustType 属æ?を設定しますã?
935             * そã?設定された値を取りå?しますã?
936             * 何も設定されてã�?�ªã�?ж態では、null を返しますã?
937             *
938             * @og.rev 5.2.1.0 (2010/10/01) 新規追åŠ??
939             *
940             * @return      mustType属æ?
941             */
942            protected String getMustType() {
943                    return mustType ;
944            }
945    
946            /**
947             * must , mustAny 属æ?をè?動化するためのhiddenタグを生成しますã?
948             *
949             * HybsSystem.MUST_KEY + mustType をキーに、指定ã?カラãƒ?��をå?として
950             * hidden を作æ?しますã?こã?値ã‚?columnChack タグで拾って must 処ç�?�—ますã?
951             * なおã?must , mustAny 属æ?を使用してã�?�ªã�??合ã?、null を返しますã?
952             *
953             * @og.rev 5.2.1.0 (2010/10/01) 新規追åŠ??
954             * @og.rev 5.7.2.0 (2014/01/10) useMustHidden対å¿?
955             *
956             * @param       name    mustæŒ?®šするカラãƒ?­‰ã?名称
957             *
958             * @return      自動化するためのhiddenタグ
959             */
960            protected String makeMustHidden( final String name ) {
961                    String rtn = "";
962                    if( mustType != null && useMustHidden ) { // 5.7.2.0 (2014/01/10)
963                            rtn = XHTMLTag.hidden( HybsSystem.MUST_KEY + mustType, name );
964                    }
965                    return rtn;
966            }
967            
968            /**
969             * aimai 属æ?をè?動化するためのAimaiPicker関連タグを生成しますã?
970             *
971             * AIMAI_xxxのid属æ?をキーに、指定ã?カラãƒ??value値の??»˜加をã?JavaScriptで行いますã?
972             * そã?ための、preタグをå?力しますã?
973             *
974             * @og.rev 5.8.4.1 (2015/02/20) aimai 属æ?を追åŠ??6.2.0.0 addメソãƒ?ƒ‰は現行ã?マとしておく
975             *
976             * @param       name    aimaiæŒ?®šするカラãƒ?
977             *
978             * @return      自動化するためのpreタグ
979             * @og.rtnNotNull
980             */
981            protected String makeAimaiPicker( final String name ) {
982                    if( aimai >= 0 ) {
983                            TagBuffer tg =  new TagBuffer( "pre" );
984                            tg.add( "id"            , "AIMAI_" + name );
985                            tg.add( "class"         , "aimaiClm" );
986                            tg.add( "aimaiType"     , String.valueOf( aimai ) );
987                            tg.add( "title"         , AIMAI_TITL[aimai] );
988                            tg.addBody( AIMAI_TEXT[aimai] );
989                            return tg.makeTag();
990                            
991                    }
992                    return "" ;
993            }
994    
995            /**
996             * HTML5を使用するかどã�?�‹(true:使用する/false:使用しなã�?を取得しますã?
997             *
998             * HTML5 の機è?を有効にするには、ネイãƒ?‚£ブモードで動作させるå¿?¦�がありますã?
999             *   â‘?USE_IE7_HEADER = "false" に設定するã?
1000             *   ② USE_HTML5_HEADER = "true" に設定するã?
1001             *   ③ IEのãƒ??ル⇒互換表示設定で、互換表示に追åŠ?�—たWebサイトから削除するã€?
1002             *   ④ 同上ã?設定で、イントラサイトを互換表示で表示するのチェãƒ?‚¯を外すã€?
1003             * å¿?¦�がありますã?
1004             * こã?メソãƒ?ƒ‰で返すのは、①と②の設定ができてã�?‚Œば true、そã�?�§なければ、false を返しますã?
1005             * 
1006             *      (初期値:USE_IE7_HEADER[={@og.value org.opengion.hayabusa.common.SystemData#USE_IE7_HEADER}])ã€?
1007             *      (初期値:USE_HTML5_HEADER[={@og.value org.opengion.hayabusa.common.SystemData#USE_HTML5_HEADER}])ã€?
1008             *
1009             * @og.rev 5.7.1.0 (2013/12/06) 新規追åŠ?
1010             *
1011             * @return      HTML5を使用するかどã�?�‹(true:使用する/false:使用しなã�?
1012             */
1013            protected boolean isUseHTML5() {
1014                    boolean useHTML5 = ! HybsSystem.sysBool( "USE_IE7_HEADER" )                     // â‘?IE7互換モードが、false
1015                                                            &&      HybsSystem.sysBool( "USE_HTML5_HEADER" );       // ② HTML5 ヘッãƒ??ã�?true
1016    
1017                    return useHTML5 ;
1018            }
1019    }