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

Spring Boot多HTML页面展示异常求助:仅返回字符串而非页面

解决Spring Boot返回HTML页面而非字符串的问题

核心问题分析

你使用了@RestController注解,这个注解等价于@Controller + @ResponseBody,会把方法返回值直接作为HTTP响应体输出,所以控制器返回的"thick_client"会以纯字符串形式返回,不会被视图解析器处理成对应的HTML页面。

修复步骤

1. 修改控制器注解

将@RestController替换为@Controller,这样Spring会把方法返回的字符串识别为视图名称,交给视图解析器匹配对应的HTML文件:

@Controller
public class ApiController {
    @Autowired
    private StockRepository stockRepository;

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index() {
        return "thick_client";
    }

    @RequestMapping(value = "/anotherIndex", method = RequestMethod.GET)
    public String anotherIndex() {
        return "thin_client";
    }
}

2. 优化依赖配置

spring-boot-starter-web已经包含了spring-webmvc,无需单独引入该依赖,避免版本冲突,修改后的pom.xml依赖如下:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.13.0</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

3. 确认视图解析配置

你当前的application.properties配置是正确的:

spring.mvc.view.prefix=/
spring.mvc.view.suffix=.html

prefix=/会指向Spring Boot默认的静态资源根目录(src/main/resources/static),suffix=.html会自动为返回的视图名称拼接后缀,刚好匹配你目录中存放的thick_client.html和thin_client.html。

验证

重启Spring Boot应用后,访问根路径/会加载thick_client.html,访问/anotherIndex会加载thin_client.html。

内容的提问来源于stack exchange,提问作者judo_ürgens

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:57:23