タグをカスタマイズするには、主に3つのステップが含まれます。
1。Javaクラスを書き、TagSupportクラスを継承します。
2。TLDファイルを作成し、タグ名を暗示し、タグJavaクラス。
3. JSPページはTLDを紹介します。
例:カスタムドロップダウンボックスラベル
ページにドロップダウン選択ボックスがある場合、最良の解決策は通常、データ辞書を使用することです。複数のページには可能性があるため
同じドロップダウンボックスを使用して、バックグラウンドで統一されたメンテナンスを容易にします。
カスタムタグクラス
java.io.ioexception; Import javax.servlet.jsp.jspexception; Import javax.servlet.jsp.jspwriter; Import javax.servlet.jsp.tagext.tagsupport;パブリッククラスの辞書dictionaryoptiontaget extends tagsupport {private static final long serialversionuid = 1L; private serialversionuid = 1L; //フィールドインデックス、ページのタグ属性を介して渡された値@suppresswarnings( "Unchecked") @overridepublic int doendtag()jspexception {jspwriter jspw = this.pagecontext.getout(); sinterbuffer options = new stringbuffer() dead*/if( "sex" .equals(index)){options.append( "<option value = ''> - select- </option>"); option.append( "<option value = '1'> male </option>"); append( "<option value = '0'> option>");} try {jspw.println(options); // output} catch(ioexception e){e.printstacktrace();} return 0;}@overridepublic int dostarttag()throws jspexception {return 0;} public string getIndex(){return index;} public void setIndex(String index){this.index = index = index;}}}}}tldを定義します
<?xml version = "1.0" encoding = "utf-8"?> <!doctype taglibpublic " - // sun microsystems、inc .//dtd jspタグライブラリ1.2 // en "" http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd "> <aglib> <tlib-version> 1.0 </tlib-vers Ion> <jsp-version> 1.2 </jsp-version> <short-name> tagsample </short-name> <uri>/hellotag </uri> <tag> <! - データディクショナリのオプションリスト - > <name> optiondictionary </name> <ag-class> com.itmyhome.dictionaryoptiontaget </tag-class> <body-content> empty </body-content> <actribute> <name> index </name> <! - フィールドインデックス名 - > <必須 - > <rtexprvalue> false </rtexprvalue> <! - $ {} - > </属性> </taglib>で値を渡すことができるかどうかそれは次のことに注意してください:<rtexprvalue> true </rtexprvalue>、JSP式を使用できます
カスタムタグを$ {}で動的に渡すことができることを示す属性値。
カスタムタグを使用します
<%@ taglib uri = "/web-tag/platform.tld" prefix = "pf"%> <select> <pf:optiondictionary index = "sex"/> </select>
ページ出力:
struts2タグ2ドロップダウンリストを書き込む方法
最初に書く方法
<s:set name = "sellist" value = "#{'quality'、 '2': 'cost'、 '3': 'progress'}"> </s:set> <s:select list = "#sellist" listkey = "key" key "key" key "key" listbalue = "value" name = "columnname" headerkey = "0書く2番目の方法:
<s:select name = "columnname" list = "{'quality'、 'cost'、 'progress'}" headerkey = "-1" headervalue = " - " emptyoption = "true"倍数= "false"/>