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