<!--
自定义标签,就像是其他标签一样,我们声明标签后,然后向标签中传入参数,属性。
好处:引用方便,有公用性,减少页面代码,结构清晰。 -->
<h4>这里介绍一下自定义标签,自定义标签分tag和tld结尾的。<br> tag结尾的其实就是将我们的jsp页面代码写到了tag中。这样在jsp中就可以代码更简洁。<br> 同时如果你做好了封装,也可以将tag做成一个公共的jsp标签代码。这样很多地方都可以复用了。 tag便签只需要两步。<br>
这里讲两个简单实例:
实例一:
第一:在WEBINF下面建立tags包。里面写个hello.tag 内容为: <%@ tag pageEncoding="UTF-8" %> hello.tag.自定义标签测试 IP:<%= request.getRemoteAddr() %> 第二步: jsp中引用,然后使用。 <%@ taglib prefix="test" tagdir="/WEB-INF/tags/" %> < test:hello />
实例二:
在jsp页面中引入命名空间:
<%@ taglib prefix="sccl" tagdir="/WEB-INF/tags"%> <sccl:selectBizCodes3 id="status" category="USER_STATUS" selected="${user.status}"></sccl:selectBizCodes3> <br /> <br />
在WEBINF下面建立tags包。里面写个selectBizCodes3.tag
<!-- 自定义标签,就像是其他标签一样,我们声明标签后,然后向标签中传入参数,属性。好处:引用方便,有公用性,减少页面代码,结构清晰 --> <!-- 引入标签库 --> <%@ 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>
说明:标签里面的属性名是自己定义的。
items="${applicationScope.bizCodes[category]}"
是在自己项目中获取的值,你的项目中应有这个值。
最后效果是一个下拉列表。
所以,凡是项目中的下拉都可以用这个标签了。
本文出自 “JianBo” 博客,请务必保留此出处http://jianboli.blog.51cto.com/12075002/1890398
原文:http://jianboli.blog.51cto.com/12075002/1890398