SpringBoot学习 JSP集成以及模板引擎(四)

JSP集成

一般来说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页面

SpringBoot学习 JSP集成以及模板引擎(四)_第1张图片

内容如下:

<%@ 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,可以看到页面。

 

你可能感兴趣的:(SpringBoot学习 JSP集成以及模板引擎(四))