Web MVC 视图应用

模版引擎

新一代服务端模版引擎

参考资源:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

模版类型

  • HTML
  • XML
  • TEXT
  • JAVASCRIPT
  • CSS
  • RAW

Thymeleaf 语法



  
    Good Thymes Virtual Grocery
    
    
  
  
    

Welcome to our grocery store!

核心要素

资源定位(模版来源)
  • 通用资源抽象
    • 文件资源:File
    • ClassPath资源:ClassLoader
    • 统一资源:URL
    • Web资源:ServletContext
  • Spring 资源抽象
    • Spring 资源:Resource
渲染上下文(变量来源)
  • 不同的实现
    • Context:Thymeleaf渲染上下文
    • Model:SpringWeb MVC模型
    • Attribute:Servlet上下文
模版引擎(模版渲染)
  • ITemplateEngine 实现

    • TemplateEngine :Thymeleaf 原生实现

    • SpringTemplateEngine :Spring 实现

      // 构建引擎
      SpringTemplateEngine templateEngine = new SpringTemplateEngine(); // 创建渲染上下文
      Context context = new Context();
      context.setVariable("message", "Hello,World");
      // 模板的内容
      String content = "

      !!!

      "; // 渲染(处理)结果 String result = templateEngine.process(content, context); // 输出渲染(处理)结果 System.out.println(result);
    • SpringWebFluxTemplateEngine:Spring WebFlux实现

视图处理

Spring Web MVC 视图组件

  • ViewResolver:视图解析器
  • View:视图组件
  • DispatchServlet:总控

Thymeleaf 整合Spring Web MVC

  • ViewResolver:ThymeleafViewResolver
  • View:ThymeleafView
  • ITemplateEngine:SpringTemplateEngine

交互流程

示例:多视图处理器并存

  • 视图处理器
    • ThymeleafViewResolver
    • InternalResourceViewResolver
  • 目的
    • 理解ViewResolver Order
    • 理解ViewResolver 模版资源查找
    • 自定义ViewResolver Order

你可能感兴趣的:(Web MVC 视图应用)