spring 如何在没有thymeleaf的情况下在Sping Boot 中返回html页面

vptzau2j  于 2023-03-22  发布在  Spring
关注(0)|答案(1)|浏览(272)

如果我从pom.xml中删除spring-boot-starter-thymeleaf,那么我的@GetMapping无法返回html页面。[enter image description here](https://i.stack.imgur.com/NJvOn.png
我试过:

  1. add @ResponseBody -不工作(他的返回字符串在网站中,而不是html页面)
    1.将@Controller替换为@RestControllerin -不工作
    1.使用ModelAndView -不工作(modelAndView.setViewName(“index”或“index.html”或“static/index.html”或...)
eh57zj3b

eh57zj3b1#

  1. add @ResponseBody -不工作(他的返回字符串在网站中,而不是html页面)
    因为浏览器会读取你的响应头“Content-Type”来决定如何显示内容。所以你需要将内容类型指定为html。
@GetMapping("/")
public void indexPage(HttpServletResponse response) throws IOException {
    response.setHeader("Content-Type", "text/html;charset=utf-8"); //specify the content is html
    PrintWriter out = response.getWriter();
    out.write("<form action='#' method='post'>");
    out.write("username:");
    out.write("<input type='text' name='username'><br/>");
    out.write("password:");
    out.write("<input type='password' name='password'><br/>");
    out.write("<input type='submit' value='login'>");
    out.write("</form>");
}

相关问题