以旧方式,我们将自定义taglib描述文件放在WEB-INF / xxx.tld中,JSP文件使用<%@taglib prefix="xxx" uri="/META-INF/xxx.tld"%>
当我们使用Spring启动并使用java代码(没有web.xml,xxx-servlet.xml等)完全配置应用程序时,在哪里放置它?
在资源/ WEB-INF下?或资源/ META-INF?
答案 0 :(得分:2)
将你的tld放入/ src / main / webapp / WEB-INF /并使用uri从你的jsp引用它。
位于/ src / main / webapp / WEB-INF /
中的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">
<description>Example Tag Library</description>
<tlib-version>4.0</tlib-version>
<short-name>example</short-name>
<uri>http://www.example.org/tags</uri>
<tag>
<name>exampleTag</name>
<tag-class>com.example.taglib.ExampleTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
从JSP文件引用标记库的示例:
<%@ taglib prefix="ex" uri="http://www.example.org/tags"%>
当然,使用自定义标签:
<ex:exampleTag />
希望它有所帮助!
答案 1 :(得分:0)
只要您了解各种JSP limitations,Spring Boot就会尽可能地坚持使用#34;旧方式&#34;。
在这种特殊情况下,我并不认为Spring Boot会加载自定义顶级域名,而是容器的工作。随意将它放在常规WAR应用程序中的位置,并在没有工作的情况下通过repro项目向Spring Boot团队提出问题。