JSP 中的 tag 文件
在jsp文件中,可以引用 tag 和tld 文件,本文主要针对 tag
对于tag 文件
1)将此类文件放在 WEB-INF 下,比如 /WEB-INF/tags,tags 是目录,其下可以有多个.tag文件,如 tree.tag,menu.tag
2)在jsp 中使用 <%@ taglib prefix="sys" tagdir="/WEB-INF/tags" %> 来引入
3)在jsp 页面上,采用<sys:xxx> 来使用该 tag 文件,如 <sys:tree>、<sys:menu>
tag 文件的作用一般是一段小代码,类似 include 文件的作用
例:
1、引入 tag 文件
<%@ taglib prefix="sys" tagdir="/WEB-INF/tags/sys" %>
2、在 /WEB-INF/tags/sys 下,新增一个 test.tag 文件
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ attribute name="id" type="java.lang.String" required="true" description="编号"%> <%@ attribute name="name" type="java.lang.String" required="true" description="输入框名称"%> <%@ attribute name="value" type="java.lang.String" required="true" description="输入框值"%> <%@ attribute name="notAllowSelectParent" type="java.lang.Boolean" required="false" description="不允许选择父节点"%> <i id="${id}Icon" class="icon-${not empty value?value:' hide'}"></i> <label id="${id}IconLabel">${not empty value?value:'无'}</label> <input id="${id}" name="${name}" type="hidden" value="${value}"/><a id="${id}Button" href="javascript:" class="btn">选择</a> <script type="text/javascript"> $("#${id}Button").click(function(){ //<c:if test="${notAllowSelectParent}"> alert("不能选择父节点"); //</c:if> }); </script>
3、在jsp 中使用该 tag
<sys:test name="test" value="test" id="test" notAllowSelectParent="true"></sys:test>
4、运行程序,可以发现程序正常运行
问题是:tag 中的 //<c:if test="${notAllowSelectParent}"> 不是被注释掉了吗?为什么还是能正常运行? 为什么js 中可以使用 jstl 标签?
实际运行结果:与注释没有任何关系……
作者:panie
出处:http://www.cnblogs.com/panie2015/
如果您希望与我交流互动,欢迎加我微信
本文内容为作者辛苦整理书写,欢迎转载,但请保留文章出处