SpringBoot学习笔记(4)——B站动力节点

009- Thymeleaf 模版

9.1 介绍

不使用jsp 
jsp早就过时了
使用 Thymeleaf 模版 代替jsp

在这里插入图片描述在这里插入图片描述

9.2 第一个例子

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述


9.3 表达式

 表达式是在页面获取数据的一种 thymeleaf 语法。类似 ${key}

(1)标准变量表达式

语法:${key} 

作用:获取key对应的文本数据,key 是request作用域中的key,
	 使用request.setAttribute()或者model.addAttribute()都可以

在页面中的 html标签中,使用 th:text="${key}" 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

(2)选择变量表达式

星号变量表达式

语法: *{key}

作用: 获取这个key对应的数据, *{key}需要和th:object 这个属性一起使用。

目的是简单获取对象的属性值。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

(3)链接表达式(url表达式)

语法:@{链接url}
说明:主要用于链接、地址的展示,
可用于<script src="...">、<link href="...">、<a href="...">、<form action="...">、
<img src="">等,可以在 URL 路径中动态获取数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述


在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

9.4 属性

大部分属性和 html 的一样,只不过前面加了一个 th 前缀。 
加了 th 前缀的属性,是经过模版引擎处理的。

在这里插入图片描述

属性是放在html元素中的,就是html元素的属性,加入了th前缀。属性的作用不变。   
加入上th,属性的值由模板引擎处理了。在属性可以使用变量表达式。
例如:
<form action="/loginServlet" method="post"></form>

<form th:action="/loginServlet" th:method="${methodAttr}"></form>

(1)基本属性

在这里插入图片描述在这里插入图片描述


在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述


在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

(2)th:each

在这里插入图片描述在这里插入图片描述


循环list集合:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述


循环数组:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述


循环List集合:

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述


list和map集合嵌套:

在这里插入图片描述在这里插入图片描述

(3)th:if 和 th:unless

在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述


在这里插入图片描述在这里插入图片描述

(4)th:switch 和 th:case

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

(5)th:inline

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述


在这里插入图片描述
在这里插入图片描述在这里插入图片描述

9.5 字面量

在这里插入图片描述在这里插入图片描述在这里插入图片描述

9.6 字符串连接

在这里插入图片描述

9.7 运算符

算术运算: + , - - , * , / , %
关系比较 : > , < , >= , <= ( gt , lt , ge , le )
相等判断: == , != ( eq , ne )


<div style="margin-left: 400px">
        <h3>使用运算符</h3>
        <p th:text="${age > 10}">年龄大于 10 </p>
        <p th:text="${ 20 + 30 }">显示运算结果</p>
        <p th:if="${myuser == null}">myuser是null</p>
        <p th:if="${myuser eq null}">myuser是null</p>
        <p th:if="${myuser ne null}">myuser不是null</p>

        <p th:text="${isLogin == true ? '用户已经登录' : '用户需要登录'}"></p>
        <p th:text="${isLogin == true ? ( age > 10 ? '用户是大于10的' : '用户年龄比较小') : '用户需要登录'}"></p>

    </div>

三元运算符:
 表达式  ? true的结果 : false的结果

三元运算符可以嵌套

9.8 基本内置对象

模板引擎提供了一组内置的对象,这些内置的对象可以直接在模板中使用,
这些对象由#号开始引用

#request 表示 HttpServletRequest

#session 表示 HttpSession

session 是#session的简单表示方式, 用来获取session中指定的key的值

​               #session.getAttribute("loginname") == session.loginname

param 表示请求的参数集合

这些是内置对象,可以在模板文件中直接使用。

文档地址:
https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#web-context-namespaces-for-requestsession-attributes-etc

在这里插入图片描述


在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述在这里插入图片描述

9.9 内置工具类对象

在这里插入图片描述

http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

在这里插入图片描述


#dates

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述


#numbers

在这里插入图片描述
在这里插入图片描述


#strings

在这里插入图片描述

在这里插入图片描述


#lists

在这里插入图片描述


null处理

在这里插入图片描述
在这里插入图片描述

9.10 内容复用(自定义模板)

模板是内容复用, 定义一次,在其他的模板文件中多次使用。
模板使用:

1.定义模板
	模板定义语法:
th:fragment="模板自定义名称"

例如:
<div th:fragment="head">
    <p>
        动力节点-java开发
    </p>
    <p>
        www.bjpowernode.com
    </p>
</div>
2.使用模板
1) ~{templatename :: selector}
   templatename:  文件名称
   selector: 自定义模板名称
2)templatename :: selector
   templatename:  文件名称
   selector: 自定义模板名称

对于使用模板:有包含模板(th:include), 插入模板(th:insert)

在这里插入图片描述


在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述


在这里插入图片描述
在这里插入图片描述在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述


在这里插入图片描述在这里插入图片描述

010- 总结

Spring + SpringMVC + SpringBoot

创建对象的:
@Controller: 放在类的上面,创建控制器对象,注入到容器中
@RestController: 放在类的上面,创建控制器对象,注入到容器中。
             作用:是一个复合注解,包括@Controller@ResponseBody,
             使用这个注解的类里面的控制器方法的返回值都是数据

@Service : 放在业务层的实现类上面,创建service对象,注入到容器
@Repository : 放在dao层的实现类上面,创建dao对象,放入到容器。 
			  没有使用这个注解,是因为现在使用MyBatis框架,
			  dao对象是MyBatis通过代理生成的,不需要使用@Repository,所以没有使用。
			  
@Component:  放在类的上面,创建此类的对象,放入到容器中。 


赋值的:
@Value : 简单类型的赋值
		  例如 在属性的上面使用
		  	@Value("李四") 
		  	private String name
          还可以使用@Value,获取配置文件者的数据(properties或yml)。 
          	@Value("${server.port}") 
          	private Integer port

@Autowired: 引用类型赋值自动注入的,支持byName, byType. 默认是byType 。 
			放在属性的上面,也可以放在构造方法的上面。 
			推荐是放在构造方法的上面
			
@Qualifer:  给引用类型赋值,使用byName方式。   
            @Autowird, @Qualifer都是Spring框架提供的。

@Resource : 来自jdk中的定义, javax.annotation。 
			 实现引用类型的自动注入, 支持byName, byType.
             默认是byName, 如果byName失败, 再使用byType注入。在属性上面使用


其他:
@Configuration : 放在类的上面,表示这是个配置类,相当于xml配置文件

@Bean:放在方法的上面, 把方法的返回值对象,注入到spring容器中。

@ImportResource : 加载其他的xml配置文件, 把文件中的对象注入到spring容器中

@PropertySource : 读取其他的properties属性配置文件

@ComponentScan: 扫描器 ,指定包名,扫描注解的

@ResponseBody: 放在方法的上面,表示方法的返回值是数据, 不是视图
@RequestBody : 把请求体中的数据,读取出来, 转为java对象使用。

@ControllerAdvice:  控制器增强, 放在类的上面, 表示此类提供了方法,可以对controller增强功能。

@ExceptionHandler : 处理异常的,放在方法的上面

@Transcational :  处理事务的, 放在service实现类的public方法上面, 表示此方法有事务



SpringBoot中使用的注解
    
@SpringBootApplication : 放在启动类上面,是复合注解,包含了
						  @SpringBootConfiguration
                          @EnableAutoConfiguration
                          @ComponentScan


    
MyBatis相关的注解

@Mapper : 放在接口的上面,让MyBatis找到接口, 创建他的代理对象    
@MapperScan :放在主类的上面 , 指定扫描的包, 把这个包中的所有接口都创建代理对象。 对象注入到容器中
@Param : 放在dao接口的方法的形参前面, 作为命名参数使用的。
    
    
Dubbo注解
@DubboService: 在提供者端使用的,暴露服务的, 放在接口的实现类上面
@DubboReference:  在消费者端使用的, 引用远程服务, 放在属性上面使用。
@EnableDubbo : 放在主类上面, 表示当前引用启用Dubbo功能。

引用模板语法:

1) ~{templatename :: selector}
   templatename:  文件名称
   selector: 自定义模板名称
2)templatename :: selector
   templatename:  文件名称
   selector: 自定义模板名称

对于使用模板:有包含模板(th:include), 插入模板(th:insert)

猜你喜欢

转载自blog.csdn.net/m0_52041525/article/details/125897920
今日推荐