【发布时间】:2016-12-01 10:07:37
【问题描述】:
我想要显示一个简单的 JSP 页面。我在 Tomcat 8 服务器上使用 Spring Boot。
test.jsp:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
我在application.properties中配置了JSP的路径:
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
我的项目结构(maven):
src/main/java
src/main/resources
WebContent/WEB-INF/test.jsp
控制器:
@RestController
@RequestMapping("/web/test")
public class MyController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String getMissingContent(ModelMap model) {
model.put("time", new Date());
model.put("message", "testmsg");
return "test";
}
}
@SpringBootApplication
public class MyConfig extends SpringBootServletInitializer {
}
结果:我没有看到 HTML 页面,而只是空白页面上的字符串“test”。为什么?
【问题讨论】:
-
对于初学者,请尝试使用
@Controller而不是@RestController。 -
长话短说,
@RestController会将“test”视为响应本身,而@Controller会将“test”视为要呈现的视图。如果前缀和后缀设置OK,那么应该渲染“测试”视图。 -
您介意将此添加为真实答案吗?这就是原因。
-
如果只是这样,当然。我会尽快准备一个答案,参考文档。
标签: spring jsp spring-mvc spring-boot