通过Spring Boot在JSP中使用自定义标签文件
我有一个Spring Boot" title="Spring Boot">Spring Boot项目,正在尝试在JSP文件中进行以下调用:
<%@ taglib prefix="tagz" tagdir="/WEB-INF/tags" %><tagz:utils tabs="true"/>
标签文件夹位于-
\ src \ main \ resources \ WEB-INF \ tags
JSP文件文件夹位于-
\ src \ main \ resources \ META-INF \ resources \ WEB-INF \ jsp
我还定义了application.properties文件以包括:
spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jsp
如果我尝试将标签文件夹放在除Intellij之外的任何其他类路径中,则会显示错误,该错误无法在编辑器中识别该调用。
如果删除taglib调用,将正确显示JSP页面。
我的pom.xml当然具有以下依赖关系:
<dependency> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.4.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>8.5.15</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
我收到以下错误:
白标错误页面
此应用程序没有针对/ error的显式映射,因此您将其视为后备。
Sun Jun 25 16:12:47 IDT 2017发生意外错误(类型=内部服务器错误,状态= 500)。/WEB-
INF/jsp/main.jsp(行:[11],列:[4])在导入了前缀[tagz]的标签库中未定义标签[utils]
我认为这与Spring Boot中静态文件的配置有关,但是我尝试添加spring.resources.static-
locations=classpath:/resources/static/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/WEB-INF/tags/,classpath:/WEB-INF/spring.mvc.static-path-pattern=/resources/**
似乎没有任何作用。我应该提到这些标签库工作正常!
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
有什么帮助吗?
回答:
因此,经过大量的反复试验,现在我将所有JSP文件放入路径中:
webapp/WEB-INF/jsp
标记以下文件:
webapp/WEB-INF/tags
Tlds文件位于:
webapp/WEB-INF/tld
当您在JSP内调用标记/ tld文件时,需要将它们引用到相对路径,例如:
<%@ taglib prefix="ui" tagdir="/WEB-INF/tags/ui" %>
您还需要在项目结构中定义Facet。如果没有定义,则意味着您需要通过在项目中添加“
Web框架”来生成它。它将生成web.xml,您需要将其放置webapp/WEB-INF
在项目Facets 下并手动对其进行编辑。
希望这对看到这篇文章的人有所帮助。
以上是 通过Spring Boot在JSP中使用自定义标签文件 的全部内容, 来源链接: utcz.com/qa/424648.html