Javajishumi 2023-04-27 22:56 采纳率: 100%
浏览 17
已结题

半年不写不分离版就不会写了

登录方法为什么会404,半年不写不分离版就不会写了,帮帮我(springboot thymeleaf)

img

img

img

img

  • 写回答

4条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-28 09:55
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这有个类似的问题, 你可以参考下: 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语法进行调试和解决问题。具体步骤如下:

      1. 在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/)。

      1. 在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的值(即"欢迎登录")。
      1. 如果需要使用自定义的模板目录,可以在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配置文件中进行设置。

      以上是解决该问题的具体步骤和方法,如果还存在其他问题,可以通过调试和查看日志,得到进一步的解决方案。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月6日
  • 已采纳回答 4月28日
  • 创建了问题 4月27日

悬赏问题

  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办
  • ¥15 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了