springboot模板引擎--------thymeleaf

1、引入thymeleaf;

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

2、Thymeleaf使用

@ConfigurationProperties(prefix = "spring.thymeleaf")
public class ThymeleafProperties {

	private static final Charset DEFAULT_ENCODING = Charset.forName("UTF-8");

	private static final MimeType DEFAULT_CONTENT_TYPE = MimeType.valueOf("text/html");

	public static final String DEFAULT_PREFIX = "classpath:/templates/";

	public static final String DEFAULT_SUFFIX = ".html";

只要我们把HTML页面放在classpath:/templates/,thymeleaf就能自动渲染;

使用:

1、导入thymeleaf的名称空间

2、使用thymeleaf语法;




    
    Title


    

成功!

这是显示欢迎信息

3、语法规则

1)、th:text;改变当前元素里面的文本内容;

​ th:任意html属性;来替换原生属性的值

 

springboot模板引擎--------thymeleaf_第1张图片

2)、表达式?

Simple expressions:(表达式语法)
    Variable Expressions: ${...}:获取变量值;OGNL;
            1)、获取对象的属性、调用方法
            2)、使用内置的基本对象:
                #ctx : the context object.
                #vars: the context variables.
                #locale : the context locale.
                #request : (only in Web Contexts) the HttpServletRequest object.
                #response : (only in Web Contexts) the HttpServletResponse object.
                #session : (only in Web Contexts) the HttpSession object.
                #servletContext : (only in Web Contexts) the ServletContext object.
                
                ${session.foo}
            3)、内置的一些工具对象:
#execInfo : information about the template being processed.
#messages : methods for obtaining externalized messages inside variables expressions, in the same way as they would be obtained using #{…} syntax.
#uris : methods for escaping parts of URLs/URIs
#conversions : methods for executing the configured conversion service (if any).
#dates : methods for java.util.Date objects: formatting, component extraction, etc.
#calendars : analogous to #dates , but for java.util.Calendar objects.
#numbers : methods for formatting numeric objects.
#strings : methods for String objects: contains, startsWith, prepending/appending, etc.
#objects : methods for objects in general.
#bools : methods for boolean evaluation.
#arrays : methods for arrays.
#lists : methods for lists.
#sets : methods for sets.
#maps : methods for maps.
#aggregates : methods for creating aggregates on arrays or collections.
#ids : methods for dealing with id attributes that might be repeated (for example, as a result of an iteration).
​
    Selection Variable Expressions: *{...}:选择表达式:和${}在功能上是一样;
        补充:配合 th:object="${session.user}:
   
 

Name: Sebastian.

 

Surname: Pepper.

 

Nationality: Saturn.

 
      Message Expressions: #{...}:获取国际化内容   Link URL Expressions: @{...}:定义URL;   @{/order/process(execId=${execId},execType='FAST')}   Fragment Expressions: ~{...}:片段引用表达式  
...
  Literals(字面量)     Text literals: 'one text' , 'Another one!' ,…     Number literals: 0 , 34 , 3.0 , 12.3 ,…     Boolean literals: true , false     Null literal: null     Literal tokens: one , sometext , main ,… Text operations:(文本操作)   String concatenation: +   Literal substitutions: |The name is ${name}| Arithmetic operations:(数学运算)   Binary operators: + , - , * , / , %   Minus sign (unary operator): - Boolean operations:(布尔运算)   Binary operators: and , or   Boolean negation (unary operator): ! , not Comparisons and equality:(比较运算)   Comparators: > , < , >= , <= ( gt , lt , ge , le )   Equality operators: == , != ( eq , ne ) Conditional operators:条件运算(三元运算符)   If-then: (if) ? (then)   If-then-else: (if) ? (then) : (else)   Default: (value) ?: (defaultvalue) Special tokens:   No-Operation: _

演示:controller

package com.atguigu.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


import java.util.Arrays;
import java.util.Map;


/**
 * @author 犀角
 * @date 2020/6/10 14:12
 * @description
 */
@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello")
    public String  hello(){
        return "hello world!";
    }

    //查询用户的数据,在页面显示
    @RequestMapping("/success")
    public String success(Map map){
        map.put("hello","

你好!

"); map.put("users", Arrays.asList("zhangsan","lisi","wangwu")); return "success"; } }

 html:




    
    Title


成功!

这是显示欢迎信息!



[[${user}]]

结果:

springboot模板引擎--------thymeleaf_第2张图片

 

 

你可能感兴趣的:(Java)