Struts2 自界說下拉框Tag標簽。本站提示廣大學習愛好者:(Struts2 自界說下拉框Tag標簽)文章只能為提供參考,不一定能成為您想要的結果。以下是Struts2 自界說下拉框Tag標簽正文
自界說標簽重要包含三個步調:
1、編寫java類,繼續TagSupport類;
2、創立tld文件,暗射標簽名和標簽的java類;
3、jsp頁面引入tld。
例子:自界說下拉框標簽
假如頁面上有下拉選擇框,平日最好的處理辦法是應用數據字典,由於有能夠多個頁面
應用統一個下拉框,便於後台同一保護。
自界說Tag類
import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class DictionaryOptionTaget extends TagSupport { private static final long serialVersionUID = 1L; private String index; // 字段索引 ,頁面上經由過程標簽屬性傳回來的值 @SuppressWarnings("unchecked") @Override public int doEndTag() throws JspException { JspWriter jspw = this.pageContext.getOut(); StringBuffer options = new StringBuffer(); /** * 須要查詢數據庫 字段索引為SEX的option內容,這裡是寫逝世 */ if ("SEX".equals(index)) { options.append("<option value=''>-請選擇-</option>"); options.append("<option value='1'>男</option>"); options.append("<option value='0'>女</option>"); } try { jspw.println(options); //輸入 } catch (IOException e) { e.printStackTrace(); } return 0; } @Override public 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 taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 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> <short-name>tagSample</short-name> <uri>/hellotag</uri> <tag><!-- 從數據字典檢出一個option列表 --> <name>OptionDictionary</name> <tag-class> com.itmyhome.DictionaryOptionTaget </tag-class> <body-content>empty</body-content> <attribute> <name>index</name><!-- 字段索引名 --> <required>true</required><!-- 能否必填 --> <rtexprvalue>false</rtexprvalue><!-- 能否可以或許以${}方法傳值 --> </attribute> </tag> </taglib>
須要留意的是:<rtexprvalue>true</rtexprvalue> 時刻,可使用JSP表達式
表現該自界說標簽的屬性值可使用 ${} 方法靜態傳值。
應用自界說的標簽
<%@ taglib uri="/WEB-TAG/platForm.tld" prefix="PF"%> <select> <PF:OptionDictionary index="SEX"/> </select>
頁面輸入:
struts2標簽-下拉列表的兩種寫法
第一種寫法
<s:set name="selList" value="# {'1':'質量','2':'本錢','3':'進度'}"></s:set> <s:select list="#selList" listKey="key" listValue="value" name="columnName" headerKey="0" headerValue="--請選擇--"></s:select>
第二種寫法:
<s:select name="columnName" list="{'質量','本錢','進度'}" headerKey="-1" headerValue="--請選擇--" emptyOption=" true" multiple="false"/>