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 */ 016package org.opengion.hayabusa.taglib; 017 018import org.opengion.fukurou.util.XHTMLTag; 019 020/** 021 * インラインフレームを作成するHTML拡張タグで、引数の受け渡しが可能です。 022 * 023 * @og.formSample 024 * ●形式:<og:iframe src="…" name="…" /> 025 * ●body:なし 026 * 027 * ●Tag定義: 028 * <og:iframe 029 * src ○【HTML】フレームに表示するソースファイルを指定します(必須)。 030 * name ○【HTML】フレーム名を指定します(例:QUERY,RESULT,CONTENTS など)(必須)。 031 * changeGamen 【TAG】ソース指定の画面を変更します 032 * keys 【TAG】引数を指定します 033 * dbTable 【TAG】前ページで選択したデータ列の情報を次のページに渡すかどうか[true/false]を指定します(初期値:false) 034 * ※ width 【HTML】フレームの幅を指定します 035 * ※ height 【HTML】フレームの高さを指定します 036 * ※ srcdoc 【HTML】フレームに表示する内容を指定します 037 * ※ sandbox 【HTML】サンドボックスの指定をします 038 * id 【HTML】要素に対して固有の名前(id)をつける場合に設定します 039 * clazz 【HTML】要素に対して class 属性を設定します 040 * title 【HTML】要素に対する補足的情報(title)を設定します 041 * style 【HTML】この要素に対して適用させるスタイルシート(style)を設定します 042 * caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20) 043 * caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20) 044 * caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) 045 * caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20) 046 * caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) 047 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 048 * /> 049 * 050 * ※ は、iframe専用属性。それ以外は、frameタグからの属性。 051 * 052 * 【廃止】7.0.7.0 (2019/12/13) HTML5から廃止されています。(削除予定) 053 * ※ seamless ×【HTML】シームレス化の指定をします。 054 * 055 * 【廃止】6 6.3.9 物理削除 056 * // marginwidth 【廃止】フレームの左右余白サイズ(marginwidth)を指定します(HTML5廃止属性) 057 * // marginheight 【廃止】フレームの上下余白サイズ(marginheight)を指定します(HTML5廃止属性) 058 * // noresize 【廃止】フレームサイズを変更できないよう(noresize)に指定します(HTML5廃止属性) 059 * // scrolling 【廃止】スクロールバー(scrolling)の表示/非表示[auto/yes/no]を指定します(初期値:auto)(HTML5廃止属性) 060 * // frameborder 【廃止】フレームの境界線(frameborder)の[0:非表示/1:表示]を指定します(初期値:1)(HTML5廃止属性) 061 * 062 * 063 * ●使用例: 064 * ・一般的な例:インラインフレームの構成はHTML準拠。リクエスト変数は各フレームまで転送されます。 065 * <og:iframe src="query.jsp" name="QUERY" /> 066 * </frameset> 067 * 068 * @og.group 画面部品 069 * 070 * @version 5.0 071 * @author Takahashi Masakazu 072 * @since JDK5.0, 073 */ 074public class IframeTag extends FrameTag { 075 //* このプログラムのVERSION文字列を設定します。 {@value} */ 076 private static final String VERSION = "7.0.7.0 (2019/12/13)" ; 077 private static final long serialVersionUID = 707020191213L ; 078 079 /** 080 * デフォルトコンストラクター 081 * 082 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 083 */ 084 public IframeTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 085 086 /** 087 * リンクを作成します。 088 * 089 * @og.rev 5.9.1.2 (2015/10/23) iframeとの継承関係で、共通的に呼び出すメソッドを追加します。 090 * 091 * @param urlEnc エンコードされたURL 092 * @return リンクタグ文字列 093 * @og.rtnNotNull 094 */ 095 @Override 096 protected String makeTagFrame( final String urlEnc ) { 097 return XHTMLTag.iframe( getAttributes(),urlEnc ); 098 } 099 100 /** 101 * 【HTML】フレームに表示するコンテンツ(srcdoc)を指定します。 102 * 103 * @og.tag srcdocを指定します。 104 * 105 * @param srcdoc 表示コンテンツ 106 */ 107 public void setSrcdoc( final String srcdoc ) { 108 set( "srcdoc",getRequestParameter( srcdoc ) ); 109 } 110 111 /** 112 * 【HTML】(廃止)シームレス表示(seamless)を指定します。 113 * HTML上は属性値が省略可能なため、seamlessやtrue等を指定してください。 114 * 115 * @og.tag seamlessを指定します。 116 * 117 * @og.rev 7.0.7.0 (2019/12/13) HTML5から廃止されています。 118 * 119 * @param seamless シームレス表示指定 120 */ 121 public void setSeamless( final String seamless ) { 122// set( "seamless",getRequestParameter( seamless ) ); 123 } 124 125 /** 126 * 【HTML】フレームに表示するコンテンツのセキュリティ上の制限(sandbox)を指定します。 127 * スペース等で空指定して属性を付加する事でサンドボックス化され、セキュリティが強化されます。 128 * 属性値を指定すると、対応した制限が解除されます。 129 * 標準は属性無し(サンドボックス化無し)です。 130 * 131 * @og.tag sandboxを指定します。 132 * 133 * @param sandbox 表示コンテンツ 134 */ 135 public void setSandbox( final String sandbox ) { 136 set( "sandbox",getRequestParameter( sandbox ) ); 137 } 138 139 /** 140 * 【HTML】フレームの幅を指定します。 141 * 142 * @og.tag widthを指定します。 143 * 144 * @param width 幅 145 */ 146 public void setWidth( final String width ) { 147 set( "width",getRequestParameter( width ) ); 148 } 149 150 /** 151 * 【HTML】フレームの高さを指定します。 152 * 153 * @og.tag heightを指定します。 154 * 155 * @param height 高さ 156 */ 157 public void setHeight( final String height ) { 158 set( "height",getRequestParameter( height ) ); 159 } 160}