美文网首页
SpringBoot-Web开发-2

SpringBoot-Web开发-2

作者: 西界__ | 来源:发表于2021-01-10 19:16 被阅读0次

模板引擎

前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。

那不支持jsp,如果我们直接用纯静态页面的方式,那给我们开发会带来非常大的麻烦,那怎么办呢,SpringBoot推荐你可以来使用模板引擎。

那么这模板引擎,我们其实大家听到很多,其实jsp就是一个模板引擎,还有以用的比较多的freemarker,包括SpringBoot给我们推荐的Thymeleaf,模板引擎有非常多,但再多的模板引擎,他们的思想都是一样的,什么样一个思想呢我们来看一下这张图。

模板引擎的作用就是我们来写一个页面模板,比如有些值呢,是动态的,我们写一些表达式。而这些值,从哪来呢,我们来组装一些数据,我们把这些数据找到。然后把这个模板和这个数据交给我们模板引擎,模板引擎按照我们这个数据帮你把这表达式解析、填充到我们指定的位置,然后把这个数据最终生成一个我们想要的内容给我们写出去,这就是我们这个模板引擎,不管是jsp还是其他模板引擎,都是这个思想。只不过呢,就是说不同模板引擎之间,他们可能这个语法有点不一样。其他的我就不介绍了,我主要来介绍一下SpringBoot给我们推荐的Thymeleaf模板引擎,这模板引擎呢,是一个高级语言的模板引擎,他的这个语法更简单。而且呢,功能更强大。

引入thymeleaf

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

可以查看依赖关系,发现spring-boot-starter-thymeleaf下面已经包括了spring-boot-starter-web,所以可以把spring-boot-starter-web的依赖去掉.

<!--thymeleaf模板-->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-java8time</artifactId>
        </dependency>

使用Thymeleaf

前面呢,我们已经引入了Thymeleaf,那这个要怎么使用呢?
我们首先得按照SpringBoot的自动配置原理看一下我们这个Thymeleaf的自动配置规则,在按照那个规则,我们进行使用。我们去找一下Thymeleaf的自动配置类。

我们可以在其中看到默认的前缀和后缀!我们只需要把我们的html页面放在类路径下的templates下,thymeleaf就可以帮我们自动渲染了。

Thymeleaf语法

  • 变量表达式: *${...},*是获取容器上下文变量的值.

  • 选择变量表达式: *{...},获取指定的对象中的变量值。如果是单独的对象,则等价于${}。

  • 消息表达式: #{...}表达式与th:text一起使用,加载数据源中的消息,用于国际化

  • 链接网址表达式: @{...},获取网址链接

${}是获取容器上下文变量的值,应该是包括所有上下文中的key-value。这里一直在想,所谓的应用上下文,容器,值栈都是用来存储key-value值。

{}这个表达式,是获取指定的对象中的变量值。需要在前面指定对象,可以是集合中的某个对象,也可以是单独的一个对象*

我们可以使用任意的 th:attr 来替换Html中原生属性的值!

相关文章

  • SpringBoot-Web开发-2

    模板引擎 前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我...

  • SpringBoot-Web开发-1

    静态资源映射规则 我们项目中有许多的静态资源,比如,css,js等文件,这个SpringBoot怎么处理呢? 如果...

  • SpringBoot-Web开发-3

    SpringMVC自动配置 ① 配置了视图解析器bean;② 静态资源访问支持,包括WebJars;③ 注册了转换...

  • SpringBoot-Web开发-4

    默认访问首页 SpringBootWeb开发自动配置了,当浏览器地址输入‘/‘时自动去四个静态资源文件夹class...

  • SpringBoot-Web开发-5

    登录 templates下的页面只能通过Controller跳转实现,而static下的页面是能直接被外界访问的,...

  • springboot-web

    springboot 1.3.5.RELEASE支持velocity模板springboot 1.5.3.RELE...

  • SpringBoot-Web

    静态资源处理 1、外部静态资源观察springboot中web项目的自动配置类可以发现,springboot中引入...

  • SpringBoot-Web自动配置

    spring-boot-web 一、在项目中使用thymeleaf spring-boot-starter-thy...

  • SpringBoot-Web应用安全策略实现

    背景 近期项目上线,甲方要求通过安全检测才能进行验收,故针对扫描结果对系统进行了一系列的安全加固,本文对一些常见的...

  • 1.1外观及硬件安装

    1、开发版的布局信息 2、硬件信息 2、开发版的安装

网友评论

      本文标题:SpringBoot-Web开发-2

      本文链接:https://www.haomeiwen.com/subject/gjddnktx.html