关于使用springboot和thymeleaf的问题

通过前台访问localhost:8080 的时候,前端无论什么情况下只显示index.html里面的内容(内容:<h1>首页<h1>)


而且有错误的话,前台和前端也不会报错


将静态资源放入static的时候,会访问不到index.html ,前台报错404


请教各位大佬,这是什么问题




  1. 目录结构




2.控制器



1根据你的项目结构错误页面不应该是跳转到 return "error/error"的error.html吗

2,要是不改程序,就把error.html移动到和index.html的同级路径

这里默认了你的返回路径...如果不在templates里 肯定是报404的..

你有二级包error, 控制器return的时候确定不加上?

不可以,加上error二级包没用,错误的那个代码根本没用,还是直接跳转到index


移动到同路径下,也是不行,好像只认index


按理说,springboot,不是会识别吗,出现错的,会自动找error,404等页面


就算return “error.html” ,也是到index页面


application配置了吗,方便发个项目压缩包吗,测试一下 2450957609@qq.com

ok

就是yml配置文件没写好..
#thymeleaf web html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false
spring.thymeleaf.servlet.content-type=text/html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.suffix=.html

上面的配置配置到properties或yml里...然后html里<html lang="en" xmlns:th="http://www.thymeleaf.org">

springboot的默认配置如:

1, 在templates文件夹下,直接创建error页面,这样所有异常将直接转到这个页面

2, 在templates文件夹下,直接创建error文件夹。在error文件夹里,创建404.html,500.html 这种以http错误值为名称的页面。此时,当产生某种错误时,将直接跳到相应页面。

同时使用时,以2为准


要是想修改的话可以进行默认配置

把上述的配置都加入到yml文件了,还是不可以,无论有误异常,都调到首页index.html页面,除非把index删除或移除,就会跳转 到自定义的404.html页面

和版本兼容有关系吗,这个都是创建springboot项目勾选的啊

打个断点 看进你这个请求没有

调试按钮都是灰色的,好像没有进入这个控制器


各位大佬,上述问题都不是的,还是照找不到

电脑问题...把电脑砸了...

你是要用error文件夹里404.html,500.html 还是直接只使用error.html呀

你这样写法,访问 localhost:8080,是直接默认跳转到 templates/index.html,无论如何是不会走你Controller里的 index()方法。所以

你说的 “除非把index删除或移除,就会跳转 到自定义的404.html页面”

因为 访问 localhost:8080 找不到默认的首页 index.html ,所以才调到 404.html 的


看一下springboot的底层源码可知:

这个跳转错误页面,springboot有默认跳转机制的,他是根据状态吗进行跳转错误页面的,如404,500等

而error.html是所有错误统一跳转页面,但是有单一准确错误页面,他就会精准跳转到那个页面

例如:404.html,而不再跳转到error.html了


我把你发给我的代码给改了一下,你是要这种情况吗?

当访问http://localhost:8080 可以跳转到index.html

当访问http://localhost:8080/ssss 可以跳转到404.html

当访问http://localhost:8080/test可以跳转到error.html

当访问http://localhost:8080/test并且打开注释//int i = 9 / 0;时可以跳转到500.html

你试一下:

https://ww.lanzous.com/id3faja


主要是把你的blogapplication类移动到你controller类包路径的上一级,这样才能使其扫描到@controller注解,才能springboot进行管理使用 生效

估计已经弄好了

     

我把项目和版本重新更换了一边最新的