gpt4 book ai didi

Struts2 自定义下拉框Tag标签

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Struts2 自定义下拉框Tag标签由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

自定义标签主要包括三个步骤:

1、编写java类,继承TagSupport类; 。

2、创建tld文件,影射标签名和标签的java类; 。

3、jsp页面引入tld.

例子:自定义下拉框标签 。

如果页面上有下拉选择框,通常最好的解决方法是使用数据字典,因为有可能多个页面 。

使用同一个下拉框,便于后台统一维护.

自定义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; // 字段索引 ,页面上通过标签属性传回来的值
@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 。

?
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><!-- 从数据字典检出一个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表达式 。

表示该自定义标签的属性值可以使用 ${} 方式动态传值.

使用自定义的标签 。

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

页面输出:

Struts2 自定义下拉框Tag标签

struts2标签-下拉列表的两种写法 。

第一种写法 。

?
1
2
<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>

第二种写法:

?
1
<s:select name= "columnName" list= "{'质量','成本','进度'}" headerKey= "-1" headerValue= "--请选择--" emptyOption= " true" multiple= "false" />

  。

最后此篇关于Struts2 自定义下拉框Tag标签的文章就讲到这里了,如果你想了解更多关于Struts2 自定义下拉框Tag标签的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com