使用springboot

时间:2015-11-15 21:38:55

标签: java spring-mvc spring-boot

大家好我想尝试运行一个简单的springboot应用程序。并尝试查看基本的HTML但无法呈现页面。我只能在浏览器上看到字符串,但不能看到实际的html内容。请告诉我我做错了什么。

TestController.java:

@Controller
public class TestController {

    @RequestMapping(value="/person")
    @ResponseBody
    public String intro(){
        System.out.println("HH");
        return "index";
    }
}

MainApplication.java:

@SpringBootApplication
@ComponentScan(basePackages = "pathToMyControllerFolder")
public class MainApplication {

    public static void main(String[] args) {

            SpringApplication.run(MainApplication.class, args);
    }
}

在/srsesources / template文件夹中创建了index.html,就像在spring doc上提到的那样: 的index.html:

<!DOCTYPE html>
<head lang="en">

    <title>Spring Framework Guru</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<h1>Hello</h1>

<h2>Fellow Spring Framework Gurus!!!</h2>
</body>
</html>

但是我不能争论html内容而是字符串索引。之前有whitePage标签错误并通过添加@ComponentScan修复它,但现在只显示索引而不是实际的html内容。

当我检查控制台上的日志信息时,我注意到了这一点:

2015-11-15 13:22:51.442  INFO 11460 --- [lication.main()] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2015-11-15 13:22:51.442  INFO 11460 --- [lication.main()] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest)

1 个答案:

答案 0 :(得分:3)

删除@ResponseBody注释。使用该注释无论您从控制器返回的是响应主体。在您的情况下,您返回index字符串,以便整个响应正文。删除注释将导致index字符串被解释为视图名称。