问题描述
使用jsp自定义标签,我在web.xml里没有配置.tld 文件存放的位置,只是把它放到web-inf下, 容器是如何找到它的位置的。
解决方案
1、使用uri找 如http://abc.com/a1.1、如果web.xml配置了 taglib 那么使用这个1.2、如果1没找到 那么到WEB-INF 及classpath(lib/classes)下搜索2、使用如<%@taglib prefix="time" tagdir="/WEB-INF/tags/time" %>可参考http://blog.csdn.net/daryl715/article/details/1536887
解决方案二:
应该是遵循JavaEE的标准,在WEB-INF下找web.xml,同时加载WEB-INF下的所有tld文件
解决方案三:
需要在web.xml中配置这个的位置:例如:<taglib> <taglib-uri>/helloworld</taglib-uri> <taglib-location>/WEB-INF/helloworld.tld</taglib-location></taglib>告诉容器 这个tld存储的位置:<short-name>mytag</short-name> <tag> <name>helloworld</name> <tag-class>mytag.HelloWorldTag</tag-class> <body-content>empty</body-content> </tag>//tld 配置 描述这个标签 解析的处理类 等信息最后引用的地方:<%@ taglib uri="/helloworld" prefix="mytag" %>其中 url就是<taglib-uri>节点定义的prefix 就是 <short-name>定义的