spring boot css 和 js 资源在某些情况下不加载

Posted

技术标签:

【中文标题】spring boot css 和 js 资源在某些情况下不加载【英文标题】:spring boot css and js resources not loading in certain situations 【发布时间】:2016-07-22 08:56:45 【问题描述】:

好的,据我所知,我正在使用正确的设置来链接 Spring Boot 项目中 Thymleaf 资源的资源

目前我正在使用以下链接它们:

<link href="../static/css/bootstrap.css" th:href="@css/bootstrap.css"
rel="stylesheet" media="screen" />

<link href="/css/bootstrap-theme.css"
th:href="@css/bootstrap-theme.css" rel="stylesheet" media="screen" />


<script type="text/javascript" src="/js/jquery-2.2.2.js"
th:src="@js/jquery-2.2.2.js"></script>


 <script type="text/javascript" src="/js/tether.js"
th:src="@js/tether.js"></script>

我的控制器中的路由路径是

@RequestMapping(value = "/mvchome", method = RequestMethod.GET)
public String mvchome(Model model) 
    Post post = new Post();

    model.addAttribute("post", post);
    return "mvchome";

当我使用 /mvchome 访问此页面时,它会正确加载带有完整表单的引导程序,但是当我尝试加载 /mvchome/ 时,它会正确加载表单但引导程序没有显示。

也不确定这是否重要,但我也在使用弹簧安全性。 只是想知道是否有人知道为什么会发生这种情况以及如何解决它的想法。

谢谢

***按照建议修改了引导链接,它仍然没有在 /mvchome/ 上加载 css

我还查看了源代码中的 chrome,似乎如果它使用 /mvchome/ 它会更改资源路径

【问题讨论】:

或许可以试试/css/bootstrap.css 我试过了,但还是不行。我在谷歌来源部分检查了它,它看起来像是在改变资源层次结构 从这个答案中尝试解决方案:***.com/questions/27869267/…,***.com/questions/27583278/… 【参考方案1】:

我有同样的问题,我的解决方案是尝试 ../css/bootstrap.css 代替

【讨论】:

【参考方案2】:

同样的事情发生在我身上.....当我用百里香开始春季靴子...... 尝试以下操作,因为 thymeleaf 在静态文件夹中搜索资源,无需添加 '../'

    <link href="css/bootstrap.css"
    rel="stylesheet" media="screen" />

    <link href="css/bootstrap-theme.css" rel="stylesheet" media="screen" />


    <script type="text/javascript" src="js/jquery-2.2.2.js"></script>


    <script type="text/javascript" src="js/tether.js"></script>

如果还是不行(我也遇到过这种情况)我换了Spring security,但是对于你我不知道你是否使用spring security

【讨论】:

以上是关于spring boot css 和 js 资源在某些情况下不加载的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot 静态资源无法加载

Spring boot 静态资源无法加载

使用 Spring Boot 和 Thymeleaf 加载静态资源

Spring Boot静态资源处理

Spring Boot 无法从用户文件夹加载 css

Spring-Boot ResourceLocations 在资源/静态/css 中找不到 css 文件