【SPringboot入门Ⅳ】web开发-模板引擎(freemarker)的使用

接上一篇【Springboot入门Ⅲ idea】

4 web开发

4.1 静态资源的访问

在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。
Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:
/static
/public
/resources
/META-INF/resources

举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问http://localhost:8080/img/测试.png 。如能显示图片,配置成功。

在这里插入图片描述

有的人的项目结构不是这样一层一层下来的,可照下图配置,在侧边栏有一个齿轮设置按钮,点开后将第一个和第二个取消勾选即可.

在这里插入图片描述

测试后显示图片成功,说明配置正确
在这里插入图片描述

4.2 自动返回数据格式

在控制器里加一个方法,设置@ResponseBody即可将返回对象转成一个json字符串
在这里插入图片描述
在这里插入图片描述

4.3 全局异常捕获

@ExceptionHandler 表示拦截异常
@ControllerAdvice
controller 的一个辅助类,最常用的就是作为全局异常处理的切面类
可以指定扫描范围
约定了几种可行的返回值,如果是直接返回 model 类的话,需要使用

@ResponseBody 进行 json 转换

案例:
创建一个全局异常捕获类
GlobalExceptionHandler类(注意,键包时一定要与app类平级,不然会报错)
在这里插入图片描述
全局异常类配置如下,方法内容可自己设置

控制器方法中加入int i=1/0,手动加入异常

访问后获得一下消息即拦截成功
在这里插入图片描述

-------------------------------错误示范-------------------------------
如果建的包与app不同级时,spring注解无法扫描,导致有的类无法使用
在这里插入图片描述

在这里插入图片描述
@RestController 用于写API,给移动客户端提供数据,一般是返回json数据
@Controller 一般用于写后台模板(有页面,开发人员编写)

4.4 渲染Web页面

模板引擎
在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。
Spring Boot提供了默认配置的模板引擎主要有以下几种:

  • Thymeleaf
  • FreeMarker
  • Velocity
  • Groovy
  • Mustache

Springboot+freemarker

Spring Boot建议使用这些模板引擎,避免使用JSP,若一定要使用JSP将无法实现Spring Boot的多种特性,具体可见后文:支持JSP的配置
当你使用上述模板引擎中的任何一个,它们默认的模板配置路径为:src/main/resources/templates。当然也可以修改这个路径,具体如何修改,可在后续各模板引擎的配置属性中查询并修改。

4.5 SprigBoot使用Freemarker

第一步:添加依赖

第二步:创建实体类和控制器
写一个实体类,提供getter,setter,构造函数(getter,setter每个都设置,这里由于截图太长不截了)
在这里插入图片描述

写个控制器,并返回些数据

第三步:创建.ftl模板文件
在src/main/resources/创建一个templates文件夹,后缀为*.ftl
创建位置如下,创建ftl文件可先创建一个html文档,在重命名(快捷键shift+f6)为.ftl后缀即可
在这里插入图片描述
页面设置如下
在这里插入图片描述
先测试是否能访问成功,重启项目,访问localhost:8080/user/list,出现一下页面即为访问成功
在这里插入图片描述

掌握如何取值和判断(图片较小,可适当放大)
在这里插入图片描述

红框中的两个值必须要一样,不然无法取到,return的地址不能以”/”开头,不然数据无法传到ftl页面
在这里插入图片描述
列表也可以根据某个字段进行排序
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值