SpringBoot(07) -- Web开发-- 视图解析与模板引擎

本文介绍了SpringBoot中视图解析的工作原理,特别是对于Thymeleaf模板引擎的使用。内容涵盖Thymeleaf的基本语法,如表达式、文本操作、数学运算、布尔和比较运算,以及在实际项目中的应用,包括引入Starter、控制层代码开发、页面开发和测试。此外,还展示了如何构建后台管理系统。
摘要由CSDN通过智能技术生成

SpringBoot2学习笔记

源码地址

四、Web开发

4.6)视图解析与模板引擎

视图解析:SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染

4.6.1)视图解析

视图处理方式如下图:

 4.6.1.1)视图解析原理流程

  1. 目标方法处理的过程中,所有数据都会被放在 ModelAndViewContainer 里面,包括数据和视图地址;

  2. 方法的参数是一个自定义类型对象(从请求参数中确定的),把它重新放在 ModelAndViewContainer ;

  3. 任何目标方法执行完成以后都会返回 ModelAndView(数据和视图地址);

  4. processDispatchResult 处理派发结果(页面改如何响应),流程如下:

    • render(mv, request, response); 进行页面渲染逻辑,根据方法的String返回值得到 View 对象【定义了页面的渲染逻辑】

    • 所有的视图解析器【viewResolvers】尝试是否能根据当前返回值得到View对象

    • 得到了 redirect:/main.html --> Thymeleaf new RedirectView()

    • ContentNegotiationViewResolver 里面包含了下面所有的视图解析器,内部还是利用下面所有视图解析器得到视图对象

    • view.render(mv.getModelInternal(), request, response); 视图对象调用自定义的render进行页面渲染工作

    RedirectView 如何渲染【重定向到一个页面】

    • 获取目标url地址

    • response.sendRedirect(encodedURL);

    视图解析:

    • 返回值以 forward: 开始: new InternalResourceView(forwardUrl); --> 转发request.getRequestDispatcher(path).forward(request, response);

    • 返回值以 redirect: 开始: new RedirectView() --》 render就是重定向 ;

    • 返回值是普通字符串: new ThymeleafView();

      </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值