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.hayabusa.common.HybsSystem; 019import org.opengion.fukurou.util.XHTMLTag; 020 021/** 022 * 指定の位置に画像を配置するHTML拡張タグです。 023 * 024 * @og.formSample 025 * ●形式:<og:img src="・・・" alt="・・・"; /> 026 * ●body:なし 027 * 028 * ●Tag定義: 029 * <og:img 030 * name 【HTML】名前を指定します 031 * src ○【HTML】表示させる画像のURLを指定します(必須)。 032 * alt ○【HTML】画像が表示されない場合、代わりに表示させるテキストを指定します(必須)。 033 * longdesc 【HTML】画像部分についての詳しい情報があるURL(longdesc)を指定します 034 * width 【HTML】横幅をピクセル数または%で指定します 035 * height 【HTML】縦幅をピクセル数または%で指定します 036 * usemap 【HTML】クライアントサイドクリッカブルを指定します 037 * ismap 【HTML】サーバーサイドクリッカブルを指定します 038 * clazz 【HTML】要素に対して class 属性を設定します 039 * id 【HTML】要素に対して固有の名前(id)をつける場合に設定します 040 * title 【HTML】要素に対する補足的情報(title)を設定します 041 * style 【HTML】この要素に対して適用させるスタイルシート(style)を設定します 042 * lang 【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します 043 * dir 【HTML】文字表記の方向(dir)を指定します 044 * onClick 【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');") 045 * onBlur 【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();") 046 * onFocus 【HTML】JavaScriptのイベント onFocus を設定します 047 * ondblClick 【HTML】JavaScriptのイベント ondblClick を設定します 048 * onMouseDown 【HTML】JavaScriptのイベント onMouseDown を設定します 049 * onMouseUp 【HTML】JavaScriptのイベント onMouseUp を設定します 050 * onMouseMove 【HTML】JavaScriptのイベント onMouseMove を設定します 051 * onMouseOut 【HTML】JavaScriptのイベント onMouseOut を設定します 052 * onMouseOver 【HTML】JavaScriptのイベント onMouseOver を設定します 053 * roles 【TAG】ロールをセットします 054 * caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20) 055 * caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20) 056 * caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20) 057 * caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20) 058 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 059 * /> 060 * 061 * ●使用例 062 * <og:img src="{@URL}" alt="sample" /> 063 * 064 * src : 表示させる画像のURL(必須) 065 * alt : 画像が表示されない場合、代わりに表示させるテキスト(必須) 066 * 067 * @og.group 画面部品 068 * 069 * @version 4.0 070 * @author Kohei Naruse 071 * @since JDK5.0, 072 */ 073public class ImageTag extends HTMLTagSupport { 074 //* このプログラムのVERSION文字列を設定します。 {@value} */ 075 private static final String VERSION = "4.0.0.0 (2005/01/31)" ; 076 077 private static final long serialVersionUID = 400020050131L ; 078 079 /** 080 * 指定位置に画像を配置するためのイメージタグを作成します。 081 * 082 * @return イメージタグ 083 */ 084 @Override 085 protected String makeTag() { 086 StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE ); 087 088 rtn.append(XHTMLTag.img(getAttributes())); 089 090 return rtn.toString(); 091 } 092 093 /** 094 * 【HTML】名前を指定します。 095 * 096 * @og.tag 名前を指定します。 097 * 098 * @param name 名前 099 */ 100 public void setName( final String name ) { 101 set( "name",getRequestParameter( name ) ); 102 } 103 104 /** 105 * 【HTML】表示させる画像のURLを指定します。 106 * 107 * @og.tag 表示させる画像のURLを指定します。 108 * 109 * @param src 画像のURL 110 */ 111 public void setSrc( final String src ) { 112 set( "src",getRequestParameter( src ) ); 113 } 114 115 /** 116 * 【HTML】画像が表示されない場合、代わりに表示させるテキストを指定します。 117 * 118 * @og.tag 画像が表示されない場合、代わりに表示させるテキストを指定します。 119 * 120 * @param alt 代替えテキスト 121 */ 122 public void setAlt( final String alt ) { 123 set( "alt",getRequestParameter( alt ) ); 124 } 125 126 /** 127 * 【HTML】画像部分についての詳しい情報があるURL(longdesc)を指定します。 128 * 129 * @og.tag longdescを指定します。 130 * 131 * @param longdesc 詳しい情報があるURL 132 */ 133 public void setLongdesc( final String longdesc ) { 134 set( "longdesc",getRequestParameter( longdesc ) ); 135 } 136 137 /** 138 * 【HTML】横幅をピクセル数または%で指定します。 139 * 140 * @og.tag 横幅を指定します。 141 * 142 * @param width 横幅(ピクセル数または%) 143 */ 144 public void setWidth( final String width ) { 145 set( "width",getRequestParameter( width ) ); 146 } 147 148 /** 149 * 【HTML】縦幅をピクセル数または%で指定します。 150 * 151 * @og.tag 縦幅を指定します。 152 * 153 * @param height 縦幅(ピクセル数または%) 154 */ 155 public void setHeight( final String height ) { 156 set( "height",getRequestParameter( height ) ); 157 } 158 159 /** 160 * 【HTML】クライアントサイドクリッカブルを指定します。 161 * 162 * @og.tag クライアントサイドクリッカブルを指定します。 163 * 164 * @param usemap クライアントサイドクリッカブル 165 */ 166 public void setUsemap( final String usemap ) { 167 set( "usemap",getRequestParameter( usemap ) ); 168 } 169 170 /** 171 * 【HTML】サーバーサイドクリッカブルを指定します。 172 * 173 * @og.tag サーバーサイドクリッカブルを指定します。 174 * 175 * @param ismap クライアントサイドクリッカブル 176 */ 177 public void setIsmap( final String ismap ) { 178 set( "ismap",getRequestParameter( ismap ) ); 179 } 180 181 /** 182 * タグの名称を、返します。 183 * 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。 184 * 185 * @og.rev 4.0.0.0 (2005/01/31) 新規追加 186 * 187 * @return タグの名称 188 */ 189 @Override 190 protected String getTagName() { 191 return "img" ; 192 } 193}