当前位置: 首页 > 知识库问答 >
问题:

Spring boot Thymeleaf webjars引导程序4

柳经纶
2023-03-14

我正在尝试使用Thymeleaf将引导添加到我的Spring Boot项目中。

指数html

<!DOCTYPE html >
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:replace="fragments/header :: header"> </head>
<body>

<div th:replace="@{'views/' + ${content}} :: ${content}"></div>

<div lang="en" th:replace="fragments/footer :: footer"> </div>
</body>
</html>

页脚。html

<div xmlns:th="http://www.thymeleaf.org" th:fragment="footer" >
    <script th:src="@{/webjars/jquery/3.3.1/jquery.min.js}"></script>
    <script  th:src="@{/webjars/popper.js/1.12.9-1/umd/popper.min.js}"></script>
    <script th:src="@{/webjars/bootstrap/4.0.0-1/js/bootstrap.min.js}"  ></script>
</div>

标题。html

<head xmlns:th="http://www.thymeleaf.org" th:fragment="header" >
    <meta charset="UTF-8">
    <title>Модуль планирования ПД</title>
    <link th:rel="stylesheet"  th:href="@{webjars/bootstrap/4.0.0-1/css/bootstrap.min.css} "/>
</head>

MvcConfig。JAVA

    @Configuration
public class MvcConfig implements WebMvcConfigurer {

   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry
              .addResourceHandler("/webjars/**")
              .addResourceLocations("/webjars/")
              .resourceChain(false);
   }
}

我怎样才能解决这个问题?

谢谢

共有3个答案

龙才俊
2023-03-14

使用Spring Boot,WebJars是自动配置的。无需添加任何处理程序或其他配置。当您运行应用程序(没有任何配置)时,您可以看到如下日志:

... Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

因此,删除您的MvcConfig类可能会解决问题。
事实上,我的Spring Boot应用程序与您的类似(但没有该配置文件)并且运行良好。当我将您的配置添加到我的应用程序时,WebJars不再工作了!

通沛
2023-03-14

如果您使用的是组织。pom中的WebJAR依赖项。xml,那么您可能应该在webjars之前添加斜杠并将属性保留在标题中。html:

<link rel="stylesheet" th:href="@{/webjars/bootstrap/4.0.0-1/css/bootstrap.min.css} "/>

还可以尝试在没有MvcConfig配置类的情况下运行它。

法子昂
2023-03-14

为了更简单,我使用了webjars定位器:

 <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>bootstrap</artifactId>
        <version>4.0.0-2</version>
    </dependency>
    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>webjars-locator</artifactId>
        <version>0.30</version>
    </dependency>

在我的页面的最后,我写下:

<script th:src="@{/webjars/jquery/jquery.min.js}"></script>
<script th:src="@{/webjars/popper.js/umd/popper.min.js}"></script>
<script th:src="@{/webjars/bootstrap/js/bootstrap.min.js}"></script>

需要设置此WebMvcConfigure类:

@Configuration
public class SpringMVCConfiguration implements WebMvcConfigurer {
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
  "classpath:/META-INF/resources/",
  "classpath:/resources/", 
  "classpath:/static/",
  "classpath:/public/"};

  @Override
 public void addResourceHandlers(ResourceHandlerRegistry registry) {
 registry.addResourceHandler("/**")
 .addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS);
 registry.addResourceHandler("/webjars/**")
 .addResourceLocations("/webjars/").resourceChain(false);
   }
 }

我没有在Spring boot中使用任何其他设置。

 类似资料:
  • 我们现在开始准备编写AngularJS应用——phonecat。这一步骤(步骤0),您将会熟悉重要的源代码文件,学习启动包含AngularJS种子项目的开发环境,并在浏览器端运行应用。 进入angular-phonecat目录,运行如下命令: git checkout -f step-0 该命令将重置phonecat项目的工作目录,建议您在每一学习步骤运行此命令,将命令中的数字改成您学习步骤对应的

  • 概览 这一节解释了AngularJS初始化的过程,以及需要的时候你该如何修改AngularJS的初始化。 AngularJS的 <script> 标签 这个示例展示了我们推荐的整合AngularJS的方法,它被称之为“自动初始化”。 <!doctype html> <html xmlns:ng="http://angularjs.org" ng-app> <body> ..

  • 有一个模态代码。来自Twitter引导的js: 什么是role=“dialog”aria labelledby=“myModalLabel”aria hidden=“true”? 它到底做什么?

  • 本文向大家介绍引导程序navbar-static-top类,包括了引导程序navbar-static-top类的使用技巧和注意事项,需要的朋友参考一下 要创建随页面滚动的导航栏,请添加.navbar-static-top类。此类不需要将填充添加到<body>。 示例

  • 问题内容: 我在win10-64上重新安装了Python37-32,似乎满足了所有要求,并且我的hello world python文件正在执行 但是当我尝试使用pyinstaller时 它以错误结束 这是Windows上的基本安装,我不必手动重新编译任何引导加载程序(我习惯于使用较旧的python版本进行pyinstaller,并且从未遇到过问题)。我应该在哪里解决这个问题? 编辑 错误显示在p

  • 我知道Spring Boot应用程序可以作为war文件部署到生产环境中。但是部署spring boot应用程序的典型方式是什么?它只需要jvm而不需要容器吗?