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

Bootstrap 3样式不随Spring boot和WebJars加载

赵骏奇
2023-03-14

我将以下依赖项添加到我的Spring Boot(使用版本2.1.15)项目中:

 <dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.0.11.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>3.3.7-1</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.2.1</version>
</dependency>

在my Thymeleaf页面上,我包含了以下CSS文件和脚本:

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

<script th:src="@{/webjars/bootstrap/3.3.7-1/js/bootstrap.min.js}" type="text/javascript"></script>
<script th:src="@{/webjars/jquery/3.2.1/jquery.min.js}" type="text/javascript"></script>

要加载模板,我定义了以下控制器映射:

@RequestMapping(name = "/")
public String loadMainWeb() {
    return "index";
}

但是,当我运行应用程序时,引导程序样式不会加载。我通过向按钮添加btn和btn主类来测试这一点。为什么不加载这些样式?

可以在GitHub上找到完整的项目。

共有1个答案

华宏逸
2023-03-14

问题是控制器映射。您当前正在使用以下映射:

@RequestMapping(name = "/")
public String loadMainWeb() {
    return "index";
}

但是,您使用了名称属性而不是RequestMapping注释上的路径属性。通过省略path属性,您实际上告诉Spring您想要将此控制器映射应用于所有endpoint。

这意味着当您运行应用程序时,当您尝试加载WebJars文件时,您实际上正在加载index.html页面。

要解决此问题,应使用路径而不是名称:

@RequestMapping(path = "/") // Use 'path'
public String loadMainWeb() {
    return "index";
}
 类似资料:
  • WebJars 是客户端网络库(如 jQuery 和 Bootstrap)打包成 JAR(Java Archive)文件。 显式轻松地管理基于JVM的Web应用程序中的客户端依赖性 使用基于JVM的构建工具(例如Maven,Gradle,sbt等)下载您的客户端依赖项 了解您正在使用的客户端依赖项 传递依赖关系会自动解决,并可以通过RequireJS加载 部署在Maven Central上

  • 我已经用ddev设置了一个简单的wordrpress环境。 我正在尝试使用ddev share功能,该功能应该提供本地WP站点的实时预览,但当我尝试从另一台计算机在不同的以太网上访问该站点时,该站点会加载,所有内容都与html和一些原始css有关,但不是全部内容。 当然,在当地,一切都很好。 在我的ngrok站点控制台中,我收到了如下各种警告: 注意,“mysite.ddev....”是指向我的本

  • 用 javascript 重新包装了 bootstrap3 的 modal 组件, 使用更方便更友好!  示例:   BootstrapDialog.alert('I want banana!');   选项多接口多,很实用!!

  • bootstrap3 表单的验证JQuery插件。

  • 问题内容: 我需要从ElasticSearch指数获得了随机抽样,即发出查询检索从加权概率定索引一些文档(这里是行的权重,并在此查询所有文件的权重的总和)。 当前,我有以下查询: 它从选定类别中随机返回5个项目。每个项目都有一个字段。所以,我可能必须使用 作为描述在这里。 我有以下问题: 正确的方法是什么? 我需要启用动态脚本吗? 如何计算查询的总和? 非常感谢你的帮助! 问题答案: 万一它对任何

  • 添加样式的方案 在 dva 中,所有的页面都是基于组件的。因此,我们希望样式依附于组件,不同组件的样式相互之间不会造成污染。 在 dva 中,我们推荐使用 CSS Modules 的解决方案。配合 webpack 的 css-loader 进行打包,会为所有的 class name 和 animation name 加 local scope,避免潜在冲突。 样式引入示例 参考 example 中