springboot整合thymeleaf,freemarker模板和jsp

thymeleaf模板:

引入依赖

            org.springframework.boot
            spring-boot-starter-thymeleaf

properties文件
###THYMELEAF (ThymeleafAutoConfiguration)
#spring.thymeleaf.prefix=classpath:/templates/
#spring.thymeleaf.suffix=.html
#spring.thymeleaf.mode=HTML5
#spring.thymeleaf.encoding=UTF-8
# ;charset= is added
#spring.thymeleaf.content-type=text/html
# set to false for hot refresh

spring.thymeleaf.cache=false    关闭缓存

编写模板:

编写模板文件src/main/resouces/templates/hello.html:


      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
   
        Hello World!
   
   
       

Hello.v.2


       


   

controller

@Controller
public class TemplateController {
    
    /**
     * 返回html模板.
     */
    @RequestMapping("/helloHtml")
    public String helloHtml(Map map){
        map.put("hello","from TemplateController.helloHtml");
        return "/hello";
    }
    注意:返回的是字符串必须是@Controller,不能是@RestController注解,如果使用@RestController注解需返回ModelAndView

}

freemarker模板:

引入依赖


            org.springframework.boot
            spring-boot-starter-freemarker

properties文件
###FREEMARKER (FreeMarkerAutoConfiguration)
spring.freemarker.allow-request-override=false
spring.freemarker.cache=true  关闭缓存
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.prefix=
#spring.freemarker.request-context-attribute=
#spring.freemarker.settings.*=
#spring.freemarker.suffix=.ftl
#spring.freemarker.template-loader-path=classpath:/templates/ #comma-separated list
#spring.freemarker.view-names= # whitelist of view names that can be resolved
编写模板文件.ftl
模板必须放到src/main/resources/templates目录下。模板扩展名默认为ftl
网页中可能会用到,图片、css、js等静态资源。
需要把静态资源放到src/main/resources下的static目录下

      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
   
        Hello World!
   
   
       

Hello.v.2


       

${hello}


   

访问

    @RequestMapping("/helloFtl")
    public String helloFtl(Map map){
        map.put("hello","from TemplateController.helloFtl");
        return "/hello";
    }

jsp支持:


    
        org.springframework.boot
        spring-boot-starter-parent
        1.4.1.RELEASE
    


 

    1.8


        
            org.springframework.boot
            spring-boot-starter-web
        



        
            javax.servlet
            javax.servlet-api
            provided
        


JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。

            javax.servlet
            jstl
        



        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        

        
            org.apache.tomcat.embed
            tomcat-embed-jasper
            provided
        

application.properties文件

# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp

controller
@Controller
public class HelloController {
private String hello;    
    
    @RequestMapping("/helloJsp")
    public String helloJsp(Map map){
        map.put("hello", hello);
        return "helloJsp";
    }

}

 src/main 下面创建 webapp/WEB-INF/jsp 目录用来存放我们的jsp页面:helloJsp.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


    helloJsp
    



    ${hello}
    

你可能感兴趣的:(微服务)