th:if标签:
先介绍:Thymeleaf
1、Thymeleaf 是 Web 和独立环境的现代服务器端 Java 模板引擎,能够处理HTML,XML,JavaScript,CSS 甚至纯文本。
2、Thymeleaf 的主要目标是提供一种优雅和高度可维护的创建模板的方式。为了实现这一点,它建立在自然模板的概念上,将其逻辑注入到模板文件中,不会影响模板被用作设计原型。这改善了设计的沟通,弥补了设计和开发团队之间的差距。
3、Thymeleaf 也从一开始就设计了Web标准 - 特别是 HTML5 - 允许您创建完全验证的模板,Spring Boot 官方推荐使用 thymeleaf 而不是 JSP。
4、Thymeleaf 官网:https://www.thymeleaf.org/
5、Thymeleaf 在 Github 的主页:https://github.com/thymeleaf/thymeleaf
6、Spring Boot 中使用 Thymeleaf 模板引擎时非常简单,因为 Spring Boot 已经提供了默认的配置,比如解析的文件前缀,文件后缀,文件编码,缓存等等,程序员需要的只是写 html 中的内容即可,可以参考《Spring Boot 引入 Thymeleaf 及入门》
总而言之,要使页面动态,方法之一就是使用Thymeleaf,多用于SpringBoot
th:if
th:if属于Thymeleaf,它的语意就像是if语句,判断{}里的条件是否成立
比值符号如下:
-
gt:great than(大于)>
-
ge:great equal(大于等于)>=
-
eq:equal(等于)==
-
lt:less than(小于)<
-
le:less equal(小于等于)<=
-
ne:not equal(不等于)!=
实例:<div th:if=" ${userCarSize} lt '3'">
</div>
当userCarSize小于3时,div才会生效展示
@controller:
用这个修饰了类之后。它就会被Spring的自动扫描扫到,这个类就会被交给Spring管理。
DTO:Data Transfer object
这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,现在泛指用于展示层与服务层之间的数据传输对象。
在实际项目中,DTO的分在两层传输,一层是service层向controller层,这一层的DTO封装service执行结果,给controller,简化业务数据,只提取部分业务相关字段或补充处理相关字段,不同业务可能有不同的此类dto,具有业务相关性;
另外一层是controller层向web前端层,这一层DTO封装controller执行结果,返回给前端web,请求返回实体封装类,适用于所有ajax请求返回的类型实体,无业务相关性
实际上,第一层DTO通常会被封装进第二次DTO中,在接口调用如RPC调用中,订阅者只需要拿到简化的业务数据对象,而不用把整个实体bean给对方。
————————————————
版权声明:本文为优快云博主「逍遥不羁」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/javaloveiphone/article/details/52606688
延申:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。
mapper:
通用Mapper是基于Mybatis开发的一款简化单表操作的一款插件.可以实现单表自动CURD操作.以后程序员再也不需要写简单的sql.同时实现了JPA思想.(不懂)
model:
系统的实体类,存放系统抽取出来的实体类