大家好我想尝试运行一个简单的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)
答案 0 :(得分:3)
删除@ResponseBody
注释。使用该注释无论您从控制器返回的是响应主体。在您的情况下,您返回index
字符串,以便整个响应正文。删除注释将导致index
字符串被解释为视图名称。