当前位置: 首页 > 面试题库 >

通过Spring Boot在JSP中使用自定义标签文件

许俊晤
2023-03-14
问题内容

我有一个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 下并手动对其进行编辑。

希望这对看到这篇文章的人有所帮助。



 类似资料:
  • 主要内容:自定义标签的语法,简单示例,tld标签库描述文件,自定义标签属性,自定义标签的标签体自定义标签就是用户(开发者)自己定义的标签。自定义标签可以让 JSP 页面中不含有 Java 代码,只含有 HTML 代码和部分标签,就能实现业务逻辑的调用。 自定义标签的优点如下: 减少 JSP 页面对脚本的需求和依赖性 将 JSP 页面和业务逻辑分开,增加了程序的可维护性 可重复调用相同的业务逻辑,增加了程序的可重用性 使用自定义标签步骤如下: 自定义标签实现类 编写 tld 标签库描述文件

  • 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。 JSP 2.0规范中引入Simple Tag Handlers来编写这些自定义标记。 你可以继承SimpleTa

  • 本文向大家介绍JSP自定义标签案例分析,包括了JSP自定义标签案例分析的使用技巧和注意事项,需要的朋友参考一下 本文为大家介绍了JSP自定义标签的案例,供大家参考,具体内容如下 案例一:实现一个基本防盗链标签 1. 标签处理类 2. 描述文件 3. 引入和使用 JSP2.0自定义标签 ---| SimpleTag 接口 定义了标签处理类的生命周期方法。doTag() -----| SimpleTa

  • 我有一个Spring Boot项目,我正在尝试在JSP文件中进行以下调用: tags文件夹位于- \src\main\resources\WEB-INF\tags JSP文件夹在- \s rc\main\资源\META-IN F\资源\WEB-IN F\jsp 我还将application.properties文件定义为包括: 如果我尝试将标签文件夹放在任何其他类路径中,Intellij会显示错误

  • 本文向大家介绍SpringBoot使用Thymeleaf自定义标签的实例代码,包括了SpringBoot使用Thymeleaf自定义标签的实例代码的使用技巧和注意事项,需要的朋友参考一下 此篇文章内容仅限于 描述springboot与 thy 自定义标签的说明,所以你在看之前,请先会使用springboot和thymeleaf!! 之前写过一篇是springMVC与thymeleaf 的自定义标签

  • 问题内容: 在我的html中,我很好奇使用唯一标识符(例如 保存图片)而不是语义是否正确。例如: 是否优先拥有: 与CSS: 而不是:我目前有: 与CSS: 唯一标识符的使用在语义上是否正确? 问题答案: 最好避免使用自定义标签,因为您永远不知道这些标签何时会标准化,并在将来有特殊用途。 如果要避免使用标头标记,对于您的示例最好的操作如下: 此外: 如果在设计页面时不使用标准html标记,则在禁用

  • 为了解决应用中展示逻辑的需求,Django的模板语言提供了各式各样的内建标签以及过滤器。然而,你或许会发现模板内建的这些工具集合不一定能全部满足你的功能需要。在Python中,你可以通过自定义标签或过滤器的方式扩展模板引擎的功能,并使用{{ load }}标签在你的模板中进行调用。 代码布局 自定义模板标签和过滤器必须位于Django 的某个应用中。如果它们与某个已存在的应用相关,那么将其与应用绑

  • 本文向大家介绍谈一谈,使用标签库有什么好处?如何自定义JSP标签?相关面试题,主要包含被问及谈一谈,使用标签库有什么好处?如何自定义JSP标签?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JSP标签   使用标签库的好处包括以下几个方面: - 分离JSP页面的内容和逻辑,简化了Web开发; - 开发者可以创建自定义标签来封装业务逻辑和显示逻辑; - 标签具有很好的可移植性、可维护性和可重用