Настройка тега в основном включает в себя три шага:
1. Напишите класс Java и наследуйте класс TagSupport;
2. Создайте файл TLD и намекайте на имя тега и теж класса Java;
3. Страница JSP представляет TLD.
Пример: настраиваемая метка раскрывающейся коробки
Если на странице есть раскрывающееся поле, лучшее решение обычно для использования словаря данных, так как есть потенциал для нескольких страниц
Используйте ту же выпадающую коробку, чтобы облегчить единое техническое обслуживание на заднем плане.
Пользовательский класс тегов
Импорт java.io.ioexception; импорт javax.servlet.jsp.jspexception; import javax.servlet.jsp.jspwriter; import javax.servlet.jsp.tagext.tagsupport; public class dictionaryoptiontaget extends extends tagsupport, // Полевой индекс, значение, передаваемое через атрибут тега на странице @suppresswarnings ("unchecked") @overridepublic int doendtag () throws jspexception {jspwriter jspw = this.pagecontext.getOut (); stringBuffer параметры = new Stringbuffer (); Dead*/if ("sex" .equals (index)) {options.append ("<option value = ''>-пожалуйста, выберите-</option>"); options.append ("<vition value = '1'> Male </option>"); Options.Append ("<option value = '0'> wome </option>");} try {jspw.println (options); // output} catch (ioException e) {e.printStackTrace ();} return 0;}@overidePublic int dostarttag () throws jspexception {return 0;} public String getIndex () {return index;} public void setIndex (String index) {this.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 "> <taglib> <tlib-version> 1.0 </tlib-version> <jsp-version> 1.2 </jsp-version> </tagsample </rowort-name> <ru>/holdaag </hess> </hp Ознакомьтесь с списком опций из словаря данных-> <mame> OptionDictionary </name> <gag-class> com.itmyhome.dictionaryoptiontaget </tag-class> <body-content> пусто </body-content> <tatribute> <mame> Индекс </name> <! Обязательно-> <rtexprvalue> false </rtexprvalue> <!-Может ли оно передавать значение в $ {}-> </attribute> </taglib>Следует отметить, что: когда <rtexprvalue> true </rtexprvalue>, вы можете использовать экспрессии JSP
Значение атрибута, указывающее, что пользовательский тег может быть динамически передаваться в $ {}.
Используйте пользовательские теги
<%@ taglib uri = "/web-tag/platform.tld" prefix = "pf"%> <select> <pf: intaintdictionary index = "sex"/> </select>
Вывод страницы:
Struts2 Tag-two Ways для написания раскрывающегося списка
Первый способ написать
<S: set name = "sellist" value = "# {'1': 'Quality', '2': 'stost', '3': 'Progress'}"> </s: set> <s: select list = "# sellist" listkey = "key" listValue = "value" name = "colunname" headerkey = "0" headervalue = "-пожалуйста-"> </s: select> select> select> select> select> select> select> </s: "?Второй способ написания:
<S: выберите name = "columnName" list = "{'Quality', 'stost', 'progress'}" headerKey = "-1" hevervalue = "-пожалуйста, выберите-" EmptyOption = "true" MALTY = "false"/>