一般来说springboot不建议直接使用jsp页面,但不排除有些公司的项目依然使用jsp做前端界面。
springboot内置的tomcat并没有集成对jsp的支持,也没有对EL表达式的支持,因此要使用jsp应该先把相关的依赖集成进来
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
由于要springmvc解析jsp,要配置试图解析器,在applicaiton.properties 里面新增
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
在main下面新建webapp,里面新建WEB-INF文件夹,在里面放一个index.jsp页面
内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
caojiulu
这是个jsp页面!!
最后新建一个controller,注意这里的注解是@Controller,千万不能用@RestController
在浏览器上输入:localhost:8080/jsp/hi,可以看到JSP页面。
SpringBoot 推荐使用模板引擎来渲染html,如果你不是历史遗留项目,一定不要使用JSP,常用的模板引擎很多,有freemark,thymeleaf等,其实都大同小异
其中springboot 强烈推荐的是用thymeleaf
pom文件种添加thymeleaf的支持,并且删除JSP的支持
org.springframework.boot
spring-boot-starter-thymeleaf
删除application.properties文件里面视图解析器内容
#spring.mvc.view.prefix=/WEB-INF/jsp/
#spring.mvc.view.suffix=.jsp
新建Controller内容如下
@Controller
@RequestMapping("/tpl")
public class ThymeleafController {
@RequestMapping("/testThymeleaf")
public String testThymeleaf(ModelMap map) {
// 设置属性
map.addAttribute("name", "caojiulu");
// testThymeleaf:为模板文件的名称
// 对应src/main/resources/templates/testThymeleaf.html
return "testThymeleaf";
}
}
Springboot默认的模板配置路径为:src/main/resources/templates
在resources目录里面新建一个templates目录,在目录里面新建testThymeleaf.html文件
在浏览器上输入:localhost:8080/tpl/testThymeleaf,可以看到页面。