يتضمن تخصيص علامة بشكل أساسي ثلاث خطوات:
1. اكتب فئة Java ورث فئة TagSupport ؛
2. قم بإنشاء ملف TLD واتصل إلى اسم العلامة والعلامة Java Class ؛
3. صفحة JSP تقدم TLD.
مثال: تسمية مربع منسدلة مخصصة
إذا كان هناك مربع اختيار منسول في الصفحة ، فإن الحل الأفضل هو عادة استخدام قاموس البيانات ، حيث توجد إمكانية لصفحات متعددة
استخدم نفس المربع المنسدلة لتسهيل الصيانة الموحدة في الخلفية.
فئة العلامات المخصصة
استيراد java.io.ioException ؛ استيراد javax.servlet.jsp.jspexception ؛ استيراد javax.servlet.jsp.jspwriter ؛ استيراد javax.servlet.jsp.tagext.tagsupport ؛ فئة public classearyoptiontaget يمتد tagsupport // فهرس الحقل ، تم تمرير القيمة مرة أخرى من خلال سمة العلامة على الصفحة suppresswarnings ("غير محدد") @Overridepublic int doendtag () يلقي JSpexception {jspwriter jspw = this.pageContext.getout () ("sex" .equals (index)) {Options.Append ("<option value = ''>-الرجاء تحديد-</eptort>") ؛ Options.Append ("<option value = '1'> male </point>") ؛ Options.Append ("<Option Value = '0'> female>") ؛}} // output} catch (ioException e) {E.PrintStackTrace () ؛} return 0 ؛}@Overridepublic int dostarttag () يلقي Jspexception {return 0 ؛تحديد TLD
<؟ 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> <name-name> قائمة الخيارات من Data Dictionary-> <ame> OptionDictionary </mame> <class> com.itmyhome.dictionaryOptionTaget </tag-class> <-body-content> فارغة </body-content> <tentibt> <name> الفهرس </name> <! مطلوب-> <rtexprvalue> false </rtexprvalue> <!-سواء كان بإمكانه تمرير القيمة في $ {}-> </attribute> </taglib>تجدر الإشارة إلى أن: عندما يكون <rtexprvalue> صحيح </rtexprvalue> ، يمكنك استخدام تعبيرات JSP
قيمة السمة التي تشير إلى أنه يمكن تمرير العلامة المخصصة ديناميكيًا في $ {}.
استخدم العلامات المخصصة
<٪@ taglib uri = "/web-tag/platform.tld" prefix = "pf" ٪> <select> <pf: OptionDictionary index = "sex"/> </select>
إخراج الصفحة:
STRUTS2 TAG-TWO طرق لكتابة القائمة المنسدلة
أول طريقة للكتابة
<s: set name = "sellist" value = "# {'1': 'Quality' ، '2': 'Cost' ، '3': 'Progress'}"> </s: set> <s: select list = "# sellist" listkeke = "keyالطريقة الثانية للكتابة:
<s: حدد name = "columnname" list = "{'Quality' ، 'Cost' ، 'Progress'}" HeaderKey = "-1" headervalue = "-الرجاء تحديد-" فارغة = "true" mostle = "false"/>