登录方法为什么会404,半年不写不分离版就不会写了,帮帮我(springboot thymeleaf)
4条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/696771
- 这篇博客也不错, 你可以看下springboot整合thymeleaf模板,上传文件及时回显和下载的功能。
- 除此之外, 这篇博客: SpringBoot 用Thymeleaf模版返回页面出现404中的 附 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.nj</groupId> <artifactId>springboot-security</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-security</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
application.yml
spring: thymeleaf: prefix: classpath:/templates/ cache: false suffix: .html encoding: UTF-8 servlet: content-type: text/html
- 您还可以看一下 十三老师的SpringBoot实战教程:SpringBoot企业级线上商城项目讲解课程中的 Thymeleaf表达式语法实践1小节, 巩固相关知识点
- 以下回答来自chatgpt:
首先,对于返回404错误,需要仔细检查代码中的URL是否正确以及@Controller注解是否正确添加。其次,需要确认是否存在对应的HTML页面。如果以上都没有问题,可以考虑使用Thymeleaf语法进行调试和解决问题。具体步骤如下:
- 在Controller的方法中,使用Map将需要传递给HTML页面的数据放入请求域中,例如:
@RequestMapping("/login") public String login(Map<String, Object> map) { map.put("message", "欢迎登录"); return "login"; }
其中,map.put()中的数据会被放到请求域中,键为"message",值为"欢迎登录"。其返回的字符串,表示需要使用名为"login"的HTML页面进行渲染。需要注意的是,页面的位置应该符合Spring Boot中默认的模板位置(即/src/main/resources/templates/)。
- 在HTML页面中,导入Thymeleaf的名称空间,并使用Thymeleaf语法对数据进行渲染。例如:
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Login</title> </head> <body> <h1 th:text="${message}"></h1> </body> </html>
其中,th:text="${message}"表示将页面中
标签的文本内容设置为message的值(即"欢迎登录")。
- 如果需要使用自定义的模板目录,可以在application.properties配置文件中添加以下设置:
spring.thymeleaf.templateResolverOrder=1
然后,在自定义Bean中创建ITemplateResolver并将order和前缀和后缀设置为0,例如:
@Bean public ClassLoaderTemplateResolver emailTemplateResolver() { ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver(); emailTemplateResolver.setPrefix("mails/"); emailTemplateResolver.setSuffix(".html"); emailTemplateResolver.setTemplateMode(TemplateMode.HTML); emailTemplateResolver.setCharacterEncoding("UTF-8"); emailTemplateResolver.setOrder(0); emailTemplateResolver.setCheckExistence(true); return emailTemplateResolver; }
注意,这里的顺序设置为0很重要,可以在ThymeleafConfigurator配置文件中进行设置。
以上是解决该问题的具体步骤和方法,如果还存在其他问题,可以通过调试和查看日志,得到进一步的解决方案。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
- ¥20 网站后台使用极速模式非常的卡
- ¥20 Keil uVision5创建project没反应
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程
- ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)