激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Struts2 自定義下拉框Tag標(biāo)簽

Struts2 自定義下拉框Tag標(biāo)簽

2020-04-03 14:57麥田 JAVA教程

這篇文章主要介紹了Struts2 自定義下拉框Tag標(biāo)簽的相關(guān)資料,需要的朋友可以參考下

自定義標(biāo)簽主要包括三個(gè)步驟:

1、編寫java類,繼承TagSupport類;

2、創(chuàng)建tld文件,影射標(biāo)簽名和標(biāo)簽的java類;

3、jsp頁(yè)面引入tld。

例子:自定義下拉框標(biāo)簽

如果頁(yè)面上有下拉選擇框,通常最好的解決方法是使用數(shù)據(jù)字典,因?yàn)橛锌赡芏鄠€(gè)頁(yè)面

使用同一個(gè)下拉框,便于后臺(tái)統(tǒng)一維護(hù)。

自定義Tag類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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; // 字段索引 ,頁(yè)面上通過標(biāo)簽屬性傳回來的值
@SuppressWarnings("unchecked")
@Override
public int doEndTag() throws JspException {
JspWriter jspw = this.pageContext.getOut();
StringBuffer options = new StringBuffer();
/**
* 需要查詢數(shù)據(jù)庫(kù) 字段索引為SEX的option內(nèi)容,這里是寫死
*/
if ("SEX".equals(index)) {
options.append("<option value=''>-請(qǐng)選擇-</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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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><!-- 從數(shù)據(jù)字典檢出一個(gè)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> 時(shí)候,可以使用JSP表達(dá)式

表示該自定義標(biāo)簽的屬性值可以使用 ${} 方式動(dòng)態(tài)傳值。

使用自定義的標(biāo)簽

?
1
2
3
4
<%@ taglib uri="/WEB-TAG/platForm.tld" prefix="PF"%>
<select>
<PF:OptionDictionary index="SEX"/>
</select>

頁(yè)面輸出:

Struts2 自定義下拉框Tag標(biāo)簽

struts2標(biāo)簽-下拉列表的兩種寫法

第一種寫法

?
1
2
<s:set name="selList" value="# {'1':'質(zhì)量','2':'成本','3':'進(jìn)度'}"></s:set>
<s:select list="#selList" listKey="key" listValue="value" name="columnName" headerKey="0" headerValue="--請(qǐng)選擇--"></s:select>

第二種寫法:

?
1
<s:select name="columnName" list="{'質(zhì)量','成本','進(jìn)度'}" headerKey="-1" headerValue="--請(qǐng)選擇--" emptyOption=" true" multiple="false"/>

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜a狂野欧美一区二区 | 国产精品久久久久久久久久尿 | 成人在线不卡 | 精品亚洲夜色av98在线观看 | 一级在线免费观看视频 | 久久精品国产99国产精品亚洲 | 久久精品成人影院 | 国产资源在线免费观看 | 欧美巨乳在线观看 | 91一区二区在线观看 | 国产成人高潮免费观看精品 | 91av在线影院| 欧美一级毛片特黄黄 | 2021国产精品视频 | 91久久国产综合精品女同国语 | 国语自产免费精品视频在 | 激情亚洲网 | 国产午夜电影在线观看 | 中文字幕在线资源 | 91精品国产免费久久 | 成人国产精品一区 | chinese xvideos gay| 国产一区二区三区撒尿在线 | 久夜草| 亚洲午夜一区二区三区 | 免费视频 久久久 | 欧美一区欧美二区 | 中文字幕h | 国产噜噜噜噜久久久久久久久 | 欧美女优一区 | 久久情爱网 | 一级做a爱视频 | 久久吊 | 激情小说激情图片激情电影 | 黄色成人在线播放 | 日本精品久久久一区二区三区 | 国产精品久久久久国产精品三级 | av影院在线播放 | 精品无吗乱吗av国产爱色 | a黄色网| 性生活视频网站 |