jstl 自定义标签

<!--tld文件-->
<?xml version="1.0" encoding="UTF-8" ?>  
  
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"  
  version="2.0">  
       
  <tlib-version>1.0</tlib-version>  
  <short-name>demo</short-name>  
  <uri>/WEB-INF/tags/tld/functionTag.tld</uri> 
  <!--方法 --> 
   <function>  
    <name>demo</name>  
    <function-class>com.demo.utils.functionTag.JstlTagUtil</function-class>  
    <function-signature>java.lang.String demo(java.lang.String)</function-signature>  
  </function> 
</taglib>

 

package com.demo.core.utils.functionTag;public class JstlTagUtil {    
//demo对应的类和方法
    public static String demo(String id){return id;
    }
}

 

<!--web.xml文件添加-->
<jsp-config>
    <taglib>
      <taglib-uri>/tags/tld/functionTag</taglib-uri>
      <taglib-location>/WEB-INF/tags/tld/functionTag.tld</taglib-location>
    </taglib>
</jsp-config>

 

 

<!--jsp文件引入-->
<%@ taglib prefix="demo"  uri="/WEB-INF/tags/tld/functionTag.tld"%>

<p>${demo:demo('id')}</p>
 
本地环境没有问题,部署到正式服务器报错
Invalid tld file: "/WEB-INF/tagsd/functionTag.tld", see JSP specification section 7.3.1 for more details
在网上查了下问题说如果你使用的是jsp2.2就不能把tld文件放在 /WEB-INF/tags 以及其子目录下
试了下把文件直接放在/WEB-INF下,在把相关路径改了就好了

 

posted @ 2018-01-22 11:12  薄焦尾  阅读(168)  评论(0编辑  收藏  举报