You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin版Spring Boot控制器无法跳转HTML页面求助

搞定Spring Boot Kotlin页面跳转问题

嘿,我一眼就看到问题所在啦,咱们一步步来解决:

1. 先改控制器的注解——@RestController是罪魁祸首

你现在用的@RestController注解,本质是@Controller加@ResponseBody的组合,它的作用是把方法返回的内容直接当成HTTP响应体返回(比如返回字符串就直接给前端显示"upload"),根本不会触发视图解析器去匹配resources/templates下的HTML页面。

改法很简单,把@RestController换成普通的@Controller就行:

@Controller
@RequestMapping("/api")
class RestApiController {
    val logger = LoggerFactory.getLogger(RestApiController::class.java!!)
    @Autowired
    lateinit var parsingservice : ParsingService
    
    @GetMapping("/index")
    fun index(response : HttpServletResponse): String {
        return "upload"
    }
}

2. 补上缺失的模板引擎依赖

Spring Boot想要解析resources/templates里的HTML页面,必须要有模板引擎的支持,比如常用的Thymeleaf。你的Maven配置里完全没加这个依赖,所以就算改了注解,系统也不知道怎么处理你的HTML文件。

在Maven的<dependencies>里加这段依赖:

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

因为你用的是Spring Boot 1.5.9.RELEASE,这个依赖会自动匹配对应版本,不用额外写version。

3. 最后检查下基础配置

  • 确认upload.html确实放在src/main/resources/templates目录下,路径别写错了;
  • 返回的字符串只需要写"upload"就行,不用加.html后缀,Thymeleaf会自动帮你拼接路径查找文件。

做完这几步,再访问/api/index,应该就能正常跳转到你的upload页面啦~

内容的提问来源于stack exchange,提问作者prepare123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:46:01