2022-01-02 17:06:11.371 ERROR 20548 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] :
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException:
An error happened during template parsing (template: "class path resource [templates/admin/login.html]")] with root cause
Caused by: org.thymeleaf.exceptions.TemplateProcessingException:
Could not parse as expression: "/lib/tocbot/tocbot.min.js"
(template: "_fragments" - line 89, col 49)
网上找的答案很多,配置问题、fragment引用、自定义拦截器等等,最终发现是fragments的引用问题。
试完很多的方法后,终于受不了了,直接把js给干掉了,然后报了真正的错误出来:_fragments那里出错了。终于找出来:是因为路径错误
<!--/*/<th:block th:replace="_fragments :: script">/*/-->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.2/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
<!--/*/</th:block>/*/-->
这里的_fragments在admin目录下,所以要改成admin/_fragments.
因为themleaf模板的
是灰色的,看起来像注释,容易让人误以为这是没用的东西,在模板下这是有用的,一定要注意,细心细心!
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'logging.level.file' to org.springframework.boot.logging.LogLevel:
Property: logging.level.file
Value: log/blog-dev.log
Origin: class path resource [application-dev.yaml] - 17:11
Reason: failed to convert java.lang.String to org.springframework.boot.logging.LogLevel (caused by java.lang.IllegalArgumentException: No enum constant org.springframework.boot.logging.LogLevel.log/blog-dev.log)
Action:
Update your application's configuration. The following values are valid:
解决方法:检查yml文件或者properties文件的格式错误,这里是空格问题,如下:
logging:
level:
root: WARN
com.chen: INFO
file: log/blog-pro.log
file要顶格写:
logging:
level:
root: WARN
com.chen: INFO
file: log/blog-pro.log
如何项目中有两个_fragments,要将两个_fragments区分开,比如说:改一下head的名称:
<head th:fragment="head(title1)">
title 改成 title1即可
或者是路径的问题:两个_fragments并不在一个目录下,在引入的时候要注意_fragments的路径,如:_fragments和admin/_fragments。
一个项目中涉及到的知识操作太多,遗漏一些,或者一下忘了该怎么用,或者出现的各种各样的问题、报错,都很正常,有时候错误真的是一个很不起眼的东西,但就是一样的东西就能让你排很久的错误。
在此给自己几个提醒:
在写代码的时候,先明确自己的目的,该写什么样的代码,不要急匆匆就直接上手敲敲敲,动手之前理清楚代码之间的关系很重要,敲代码打字快没有用,要保证准确性。
遇到问题、bug的时候不要盲目的改动自己的代码,涉及到删除文件一定要备份好,当然在IDEA中找回也是可以的。
在做项目的过程中确保自己的代码保存了再退出IDEA,因为有时候直接退出IDEA不会保存你修改过的代码。
在理清楚代码的问题出在哪里的时候,也不要着急去百度找答案,先看错误信息,看自己能不能看懂然后再去自己尝试解决错误,不要过渡依赖别人的经验,因为每个人遇到的问题不一定就是一模一样的,自己经历和借鉴别人的经历是不一样的。自己亲自debug试出来解决错误的以后再遇到可以秒杀,借鉴别人的可能以后遇到还是得百度各种搜索。
人脑不是电脑,装的东西很有限,所以遇到问题要思考,思考要有结果,结果有了得会总结,不然遇到的问题以后还是不会。
重重重:切记不可眼高手低,对于知识掌握程度不够不要轻易去尝试模仿视频,因为这样的意义不是很大,不知道其中的含义是什么的话,只不过是在抄代码浪费时间罢了。小声逼逼:当然也不是完全没有好处啦,至少了解了项目的基本开发流程。