SpringBoot整合Web开发

本文详细介绍了SpringBoot如何整合Web开发,包括静态资源访问、YML与Properties配置的使用,以及Freemarker和Thymeleaf模板引擎在渲染Web页面的应用。重点讲解了Freemarker的条件判断和比较方法,以及Thymeleaf的循环和if判断写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态资源访问

在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。
默认配置
SpringBoot 默认会使用 src/main/resources 目录下的如下文件夹作为Web资源文件夹,目录名需符合如下规则:
1 . /static:静态资源文件夹,如html,js,css等存放
2 . /public:静态资源文件夹,同上
3 . /templates:模版资源文件夹

举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问http://localhost:8080/D.jpg。如能显示图片,配置成功。
在这里插入图片描述
可以看到,我放了一个图片进去,如果可以通过浏览器访问,就说明成功。
在这里插入图片描述

YML与Properties用法

SpringBoot默认使用 src/main/resource/application.properties 作为启动的配置文件,可以自定义如启动端口等等配置。
SpringBoot支持两种配置方式,一种是properties文件,一种是yml。
使用yml可以减少配置文件的重复性。
现在企业都用的是YML配置。
例如:
先用Properties文件

Properties文件

在这里插入图片描述
然后通过程序读取配置文件
在这里插入图片描述
可以看到读取出来了
在这里插入图片描述

@Value注解

作用是读取配置文件中的属性。
@Value的值有以下两类:
${ property : default_value }
#{ obj.property? :default_value }
@Value注解是Spring的注解

YML文件

可以看到YML文件比较方便,减少代码冗余。
在yml文件中有些细节需要注意,冒号后面要空一格再写值。
在项目执行时,properties文件的优先级更高,因为是默认的,所以使用yml文件时,要删除properties文件。
在这里插入图片描述
读取的结果,可以看到没有什么变化,就是更方便了。虽然现在看不出来,但是一旦涉及到企业应用,会方便很多。
在这里插入图片描述

渲染Web页面

一般搭建项目时需要分层。

com.example.controller—视图层 渲染我们页面
com.example.service—业务逻辑层
com.example.dao—数据库访问层

之前的例子用的@RestController来处理的请求,返回的是json对象,要渲染html页面,要通过模板引擎来实现。

在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。
Spring Boot提供了默认配置的模板引擎主要有以下几种
1.Thymeleaf
2.FreeMarker
3.Velocity
4.Groovy
5.Mustache
但是全用是不太可能的。
所以主要学习前两个。
当你使用上述模板引擎中的任何一个,它们默认的模板配置路径为:src/main/resources/templates。

使用Freemarker模板引擎渲染web视图

导入freemarker依赖

在这里插入图片描述
先在视图层创建一个后台代码
在这里插入图片描述
在这里插入图片描述

创建一个ftl文件
在这里插入图片描述
在这里插入图片描述
添加配置文件

spring:
  http:
    encoding:
      force: true
      ### 模版引擎编码为UTF-8
      charset: UTF-8
  freemarker:
    allow-request-override: false
    cache: false
    check-template-location: true
    charset: UTF-8
    content-type: text/html; charset=utf-8
    expose-request-attributes: false
    expose-session-attributes: false
    expose-spring-macro-helpers: false
    ## 模版文件结尾.ftl
    suffix: .ftl
    ## 模版文件目录
    template-loader-path: classpath:/templates

启动项目之后可以看到访问成功
在这里插入图片描述

Freemarker模板引擎条件判断

Freemarker模板可以进行输出结果的判断,比如,建立map表,判断条件。
在这里插入图片描述
在这里插入图片描述
可以看到输出结果
在这里插入图片描述

Freemarker中的比较方法

两种方法
1 用符号代替: > gt , >= gte ,< lt , <= lte
2 加括号 <#if(x>y)>
这是Freemarker中的格式,不按格式就会报错。

使用Thymeleaf模板引擎渲染web视图

thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎,类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。
导入Maven依赖
在这里插入图片描述

建实体包和类
在这里插入图片描述
代码
在这里插入图片描述
在这里插入图片描述

添加Thymeleaf配置文件

###ThymeLeaf配置
spring:
  thymeleaf:
    #prefix:指定模板所在的目录
    prefix: classpath:/templates/
    #check-tempate-location: 检查模板路径是否存在
    check-template-location: true
    #cache: 是否缓存,开发模式下设置为false,避免改了模板还要重启服务器,线上设置为true,可以提高性能。
    cache: true
    suffix:  .html
    encoding: UTF-8
    mode: HTML5

新建html文件
在这里插入图片描述

thymeleaf循环和if判断写法

循环语句

先在后端创建ArrayList表。前端写上循环。
thymeleaf标签 th:each的使用
对arrayList对象userList遍历,使用user作为接受参数接收。
在这里插入图片描述
在这里插入图片描述

运行出来是这样的
在这里插入图片描述

if判断

加上一个判断
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值