<!--
自定义标签,就像是其他标签一样,我们声明标签后,然后向标签中传入参数,属性。
好处:引用方便,有公用性,减少页面代码,结构清晰。 -->
1
2
3
4
|
<h4>这里介绍一下自定义标签,自定义标签分tag和tld结尾的。<br> tag结尾的其实就是将我们的jsp页面代码写到了tag中。这样在jsp中就可以代码更简洁。<br> 同时如果你做好了封装,也可以将tag做成一个公共的jsp标签代码。这样很多地方都可以复用了。 tag便签只需要两步。<br> |
这里讲两个简单实例:
实例一:
1
2
3
4
5
6
7
8
9
10
11
|
第一:在WEBINF下面建立tags包。里面写个hello.tag 内容为: <%@ tag pageEncoding= "UTF-8" %>
hello.tag.自定义标签测试 IP:<%= request.getRemoteAddr() %> 第二步: jsp中引用,然后使用。 <%@ taglib prefix= "test" tagdir= "/WEB-INF/tags/" %>
< test:hello /> |
实例二:
在jsp页面中引入命名空间:
1
2
3
4
5
6
|
<%@ taglib prefix= "sccl" tagdir= "/WEB-INF/tags" %>
<sccl:selectBizCodes3 id= "status" category= "USER_STATUS" selected= "${user.status}" ></sccl:selectBizCodes3>
<br />
<br />
|
1
|
在WEBINF下面建立tags包。里面写个selectBizCodes3.tag |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<!-- 自定义标签,就像是其他标签一样,我们声明标签后,然后向标签中传入参数,属性。好处:引用方便,有公用性,减少页面代码,结构清晰 --> <!-- 引入标签库 --> <%@ tag pageEncoding= "UTF-8" %>
<%@ taglib prefix= "c" uri= "http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix= "fn" uri= "http://java.sun.com/jsp/jstl/functions" %>
<!-- 接收参数 --> <%@ attribute name= "category" required= "true" %>
<%@ attribute name= "id" required= "true" %>
<%@ attribute name= "selected" %>
<!-- 参数处理 --> <c:set var= "htmlId" value= "category" />
<c: if test= "${not empty id}" >
<c:set var= "htmlId" value= "${id}" />
</c: if >
<!-- 嵌入页面的代码 --> <select id= "${htmlId}" name= "${htmlId}" >
<option value= "" >请选择</option>
<c:forEach var= "bizCodeV" items= "${applicationScope.bizCodes[category]}" >
<option value= "${bizCodeV.key}" <c: if test= "${bizCodeV.key==selected}" >selected</c: if > >${bizCodeV.value}</option>
</c:forEach>
</select> |
说明:标签里面的属性名是自己定义的。
1
|
items= "${applicationScope.bizCodes[category]}"
|
是在自己项目中获取的值,你的项目中应有这个值。
最后效果是一个下拉列表。
所以,凡是项目中的下拉都可以用这个标签了。
本文转自建波李 51CTO博客,原文链接:http://blog.51cto.com/jianboli/1890398,如需转载请自行联系原作者