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