首页 > 其他分享 >Servlet8 - thymeleaf 基础

Servlet8 - thymeleaf 基础

时间:2023-01-17 16:47:18浏览次数:34  
标签:Servlet8 index 基础 视图 thymeleaf html 名称 view

Thymeleaf 基础

将java内存中的数据加载到在 html页面上,称为渲染

而 Thymeleaf 就是一种实现视图渲染的技术

  • 添加Thymeleaf的jar包

  • 新建一个Servlet类ViewBaseSevlet

    • 无需手写,搬运即可
  • 在web.xml文件中添加配置

    • <!-- 配置上下文参数 prefix-前缀  suffix-后缀 -->
          <context-param>
              <param-name>view-prefix</param-name>
              <param-value>/</param-value>
          </context-param>
          <context-param>
              <param-name>view-suffix</param-name>
              <param-value>.html</param-value>
          </context-param>
      
  • 使得我们的Servlet继承ViewBaseSevlet

  • 根据逻辑视图名称得到物理视图名称

    • public class IndexServlet extends ViewBaseServlet {
       	//此处的视图名称是 index
          //那么thymeleaf会将这个 逻辑视图名称 对应到 物理视图 名称上去
          //逻辑视图名称 :   index
          //物理视图名称 :   view-prefix + 逻辑视图名称 + view-suffix
          //所以真实的视图名称是:      /       index       .html
          super.processTemplate("index",request,response);   
      }
      
  • 在 index.html 顶部添加 thymeleaf 声明

    • <html xmlns:th="http://www.thymeleaf.org">
      
    • 可以使用 thymeleaf 语法,会有相应提示, thymeleaf 语法中可以直接获取 session 保存的数据

    • th命名空间

    • <tr th:if="${#lists.isEmpty(session.fruitList)}" >
          <td colspan = "4">很抱歉,库存为空!</td>
      </tr>
      <tr th:unless="${#lists.isEmpty(session.fruitList)}" th:each="fruit : ${session.fruitList}">
          <td th=text="$fruit.fname">苹果</td>
          <td th=text="$fruit.price">5</td>
          <td th=text="$fruit.fcount">20</td>
      </tr>
      
    • session.fruitList 获取 session 保存域中的对象,再判断该对象是否为空

    • if = empty 则提示数据为空

    • unless = empty 相当于else,等于 !empty,数据不为空则显示

    • each = "a : List" 相当于for-each迭代器遍历,实现一条语句显示全部数据

    • text="xx" 设置当前标签内部文本为 xx

标签:Servlet8,index,基础,视图,thymeleaf,html,名称,view
From: https://www.cnblogs.com/Ashen-/p/17058128.html

相关文章

  • GO语言基础语法
    切片与数组typePstruct{ namestring passwordint}funcmain(){ //p:=[3]P{ // {"wqdi",123}, // {"zhang",123123}, // {"qina",123123123}, //......
  • 计算机基础 数据类型 流程控制 字符编码
    目录计算机基础数据类型流程控制字符编码一、关于计算机、编程语言、数据类型、及运算符1.关于计算机2.关于进制数3.关于单位换算4.计算机五大组成部分5.计算机三大核心......
  • AS Android项目的layout文件无法自动补全android:id等基础属性字段
    问题:Android项目的layout文件无法自动补全android:id等基础属性字段<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.co......
  • Python基础
    博客目录python基础部分基础计算机硬件python入门数据类型及常用方法垃圾回收机制用户交互与运算符流程控制数据类型内置方法字符编码文件处理函数函数的基本......
  • Java基础-方法
    Java中分类一共四种类型无参无返回、无参带返回、有参无返回和有参带返回 1.无参无返回值得 publicstaticvoid(){...}2.无参带返回值publicstatic 数据类型()......
  • cshrc基础设置
    每次拿到新机器都要重新设置下shell的rc,让terminal看的更舒服一些,这里把常用的一些语法设置记录下。1aliasclrclear2aliasggvim3aliasls'ls--color'4alias......
  • 【2023牛客寒假算法基础集训营1】小复盘
    AWorldFinal?WorldCup!(I)4种情况,想全就过。A先踢numaA当前踢进的数量numbB当前踢进的数量①A踢完/A必赢/B还能踢k脚numa>numb+k②A踢完/B必赢/A还能踢k脚nu......
  • 《SQL基础》06. 函数
    目录函数字符串函数数值函数日期函数流程函数函数函数是指一段可以直接被另一段程序调用的程序或代码。要查看函数操作的结果,可以使用SELECT函数(参数);select代表......
  • 基础二分查找总结
    前言由于我在学习二分查找的过程中处于会了忘,忘了复习的状态,因此总结一套适合自己记忆的模板。建议先看参考资料\(^{[1,2,3]}\),理解二分查找各种细节的由来。二分查找......
  • 确定空间中平面的方法以及3d相关高中基础知识
    不在一条直线上的三个点确定一个平面一条直线和直线外一点确定一个平面知道平面上一点以及平面的法向量就可以确定一个平面对于任意一个面的法向量,我们总可以选......