springboot templates目录下的页面文件访问不到 static 目录下的 jq 文件

  springboot项目结构中,页面(eg:.ftl )放在 templates 目录下,静态文件 (eg : .js) 放在 static 目录下, 但是实际操作中发现 controller 访问到 ftl页面后, 找不到引用 static 目录中的 jq 文件

  然后开始了尴尬的一个早上。。。

  

  如果你遇到了这个问题,你首先要想到要把 springboot 中访问静态资源的路径映射到 static 目录下, 对资源访问做一个映射,然后去百度吧。。。

  在 application.properties 文件中加入以下资源映射:

  

  贴上项目结构,让一起入门的小伙伴们看下结构,心理会踏实点 (我的目的就是要在 index.ftl 文件中访问到 static/js 目录下的jq文件):

  

  其实好像添加上这个配置后就行了的。。。

  你可以通过继承 WebMvcConfigurerAdapter (这个类已经显示 deprecated, 但是没找到替代的新类 ), 实现  addResourceHandlers 方法添加对静态资源访问的路径

  

  如果你只是要引用jquery文件的话,可以通过 webjars 的形式, 在pom文件中 添加依赖

 1 <dependency>
 2     <groupId>org.webjars</groupId>
 3     <artifactId>webjars-locator-core</artifactId>
 4 </dependency>
 5 <dependency>
 6     <groupId>org.webjars</groupId>
 7     <artifactId>bootstrap</artifactId>
 8     <version>3.3.7</version>
 9 </dependency>
10 <dependency>
11     <groupId>org.webjars</groupId>
12     <artifactId>jquery</artifactId>
13     <version>3.1.1</version>
14 </dependency>

  然后直接在 ftl 页面中加入对所需文件的引用:

  

  *************** 需要注意的点 : 添加webjars, 需要在 addResourcesHandlers 方法中, 把 /resources 目录加上去 (这个导入jq文件后,看下jq文件的实际目录就知道了)

  最后加上springboot 整合 ftl 的配置:

spring.mvc.static-path-pattern=/static/**

spring.resources.static-locations=classpath:/static/

spring.freemarker.allow-request-override=false
#Enable template caching.启用模板缓存。
spring.freemarker.cache=false

spring.freemarker.check-template-location=true

spring.freemarker.charset=UTF-8

spring.freemarker.content-type=text/html

spring.freemarker.expose-request-attributes=false

spring.freemarker.expose-session-attributes=false

spring.freemarker.expose-spring-macro-helpers=false

#spring.freemarker.prefix=

#spring.freemarker.request-context-attribute=

#spring.freemarker.settings.*=
#设置面板后缀
spring.freemarker.suffix=.ftl

  最后一个 freemarker.suffix 设置看访问的页面后缀了,这里是 ftl 就设置成 ftl, 否则访问不到

  整合 freemarker , pom文件中加上

<dependency>
	<groupId>org.springframework.boot</groupId>	<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

  

  今天遇到了一个小坑,是我太菜,弄了一个早上。。。

原文地址:https://www.cnblogs.com/forwrader/p/10541699.html

时间: 2024-10-10 03:34:52

springboot templates目录下的页面文件访问不到 static 目录下的 jq 文件的相关文章

VUE打包好的文件部署让beego实现静态文件访问,如何用根目录来访问静态文件?

最近的一个全栈项目,光伏云监控系统,后端使用beego框架,纯api,前端使用VUE2.0.项目地址:http://scada.ssechina.com:88/static 我把打包好的前端文件放到go的static目录, 然后main里面设置 beego.BConfig.WebConfig.StaticDir["/static"] = "static"只能用ip/static/login.html来访问 如果改成beego.BConfig.WebConfig.St

UNIX环境编程学习笔记(7)——文件I/O之文件访问权限与进程访问控制

lienhua342014-09-02 1 文件的设置用户 ID位 和设置组 ID位 与进程相关联的 ID 如下表所示, 表 1: 与进程相关联的用户 ID 和组 ID 实际用户 ID 我们实际上是谁 实际组 ID 有效用户 ID 用于文件访问权限检查 有效组 ID 附加组 ID 保存的设置用户 ID 由 exec 函数保存 保存的设置组 ID 保存的设置用户 ID 和保存的设置组 ID 在执行一个程序时包含了有效用户 ID 和有效组 ID 的副本,这个后面我们学习到进程时在详细学习. 此处,我

[WebApi] 捣鼓一个资源管理器--数据库辅助服务器文件访问

<打造一个网站或者其他网络应用的文件管理接口(WebApi)第四章"数据库辅助服务器文件访问"> ======================================================== 作者:qiujuer 博客:blog.csdn.net/qiujuer 网站:www.qiujuer.net 开源库:Genius-Android 转载请注明出处: http://blog.csdn.net/qiujuer/article/details/41721

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url=Vz4TlygvnMyYVj105bCuzkusjF0G5rM6opHvEzhcCaJK5s1gFUZ3PBgAWCNsfY1RmtPf4ZEo8EV_Gd7SYKV4S_ 在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,

Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制

一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/files/LoginTest.txt------/data/data/(包名)/files/(文件名) 导出的文件内容: 三.实现代码 新建一个Android 工程.这里我选择的是2.1即API 7,进行开发的,其它都是默认下一步下一步即可. /datasave/res/layout/activity

springboot+thymeleaf项目中使用th:replace访问templates子目录下的模板,会报错找不到模板路径

解决方法: 先将模板路径放置templates目录下,发现可以访问,说明th:replace是可以用的. 那可能是出现在路径问题上面. 于是我开始调错,改路径. 后来在网上查找资料.说了很多种方法. 第一种,见截图: 但上面应该写错了,不应该是ServletContextTemplateResolver,而应该是SpringResourceTemplateResolver.而且应该交给spring容器进行管理,而不是放在构造方法中. 另外第二种方案就是: 尝试不带?{}的情况调用th:repla

一个网站同一域名不同目录下的文件访问到的cookie值不同是什么原因?

一个网站(e:\test):里面包含多个目录如: html css js php img ..... 等等.然后,我在js目录里面的js文件中设置了cookie:同样也在php目录中的php文件中设置了cookie.然后分别打开js目录下的js文件读取cookie和php目录中的php文件(用js脚本)读取cookie.都不能够完整的读取到这个网站的cookie!而只能够读取到同目录下js或php文件设置的cookie. 只有在网站根目录下才能够读取到完整的cookie值,这是为什么?有没有办法

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

虚拟机中如何Linux系统如何访问PC硬盘中的文件(如何将windows下的文件夹挂载到linux虚拟机下)

这段时间决定学习嵌入式,变打算安装个Linux系统先熟悉一下Linux系统的使用,但自己电脑上安装的win7系统又不想装双系统,一是闲麻烦,二是由于对Linux系统不熟悉担心会因为自己的误操作而损坏系统.所以决定安装一个虚拟机,简单粗暴,要是系统不小心死了直接关掉重启便是.但是现实往往是,很多事情表面上看起来很简单,实际上暗藏了很多问题.其中问题之一就是想在Linux上安装软件,但安装包在自己电脑的硬盘上,而在虚拟机中完全不知道怎么访问硬盘中的文件,所以就各种上网找资料,试过一些网上的方法但都貌