Moon…… 2024-02-15 13:05 采纳率: 57.1%
浏览 9
已结题

使用Thymeleaf为什么不能访问这个网站

为什么输入localhost:8080/success没有出现 成功! 啊??
网页不能访问

package spring02.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * ClassName: HelloControl
 * Description:
 *
 * @Author hang
 * @Create 2024/2/14 20:59
 * @Version 1.0
 */
@Controller
public class HelloControl {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
    return "hello world";
    }
    @RequestMapping("/success")
    public String success(){
        return "success哈";
        //classpath:/templates/success.html
    }
}


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>成功!</h1>
</body>
</html>
package spring02.Controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * ClassName: HelloControlTest
 * Description:
 *
 * @Author hang
 * @Create 2024/2/14 21:05
 * @Version 1.0
 */
@SpringBootApplication
public class HelloControlTest {
    public static void main(String[] args) {
        SpringApplication.run(HelloControlTest.class,args);
    }
}


  • 写回答

4条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-02-15 13:06
    关注

    参考通义千问和郭老师的小迷弟雅思莫了-编写提供,主要是为了帮助您快速解决问题,如下回答,您可以参考下,如有问题,评论区留言。

    你遇到的问题在于,虽然你配置了/success请求映射并返回了一个字符串 "success哈",但根据你的HTML模板内容,你应该是希望Thymeleaf渲染一个名为 success.html 的视图。

    为了实现这一点,请修改 /success 处理方法如下:

    import org.springframework.ui.Model;
    // ... 其他导入
    
    @Controller
    public class HelloControl {
    
        // ... hello() 方法不变
    
        @RequestMapping("/success")
        public String success(Model model) {
            // 如果需要向页面传递数据,可以使用model.addAttribute()
            return "success";  // 将返回值改为模板文件名,即 'success.html'
        }
    }
    

    同时,请确保以下两点:

    1. success.html 文件位于正确的路径下。对于 Thymeleaf,默认情况下应该放在 src/main/resources/templates/success.html

    2. 确保Spring Boot应用正确配置了Thymeleaf作为视图解析器。在大多数情况下,只需要添加 thymeleaf starter 依赖,并且默认配置就足够了。如果你的pom.xml文件中还没有,添加以下依赖:

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

    完成以上步骤后,访问 localhost:8080/success 应该能够看到渲染后的 success.html 页面,显示“成功!”字样。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月22日
  • 创建了问题 2月15日