IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot——Thymeleaf基本表达式基本对象、功能对象 -> 正文阅读

[Java知识库]SpringBoot——Thymeleaf基本表达式基本对象、功能对象

1?Thymeleaf基本表达式基本对象

模板引擎提供了一组内置的对象,这些内置的对象可以直接在模板中使用,这些对象由#号开始引用,我们比较常用的内置对象。

主要的基本对象有两个;#request和#session

#request 相 当 于 httpServletRequest 对 象 , 这 是 3.x 版 本 , 若 是 2.x 版 本 使 用。#httpServletRequest,在页面获取应用的上下文根,一般在 js 中请求路径中加上可以避免 404。

相当于 HttpSession 对象,这是 3.x 版本,若是 2.x 版本使用#httpSession。在后台方法中向 session 中放数据。

?controller类

package com.liuhaiyang.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;

@Controller
public class UserController1 {
    @RequestMapping("/index")
    public String  idnex(HttpServletRequest request, Model model){
    model.addAttribute("username","lisi");
    request.getSession().setAttribute("data","sessionData");
        return "index";
    }
}

核心配置文件

spring.thymeleaf.cache=false

前端展示数据页面index.html


<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h3>从ssession中获取值</h3>
获取session值的第一种方法:<span th:text="${#session.getAttribute('data')}"></span><br/>
获取session值的第二种方法:<span th:text="${#httpSession.getAttribute('data')}"></span><br/>
获取session值的第三种方法:<span th:text="${session.data}"></span><br/>
<hr/>
<script type="text/javascript" th:inline="javascript">
    //获取协议名称
    var scheme = [[${#request.getScheme()}]];
    //获取服务器ip地址
    var serverName = [[${#request.getServerName()}]];
    //获取服务器端口号
    var serverPort = [[${#request.getServerPort()}]];
    //获取上下文根
    var contextPath = [[${#request.getContextPath()}]];
    //将以上四个变量拼接成一个完成路径
    var allPath = scheme + "://" + serverName + ":" + serverPort + contextPath;
    alert(allPath);

    var requestURL = [[${#httpServletRequest.requestURL}]];
    var queryString = [[${#httpServletRequest.queryString}]];
    var requestAddress = requestURL + "?" + queryString;
    alert("该请求路径为:" + requestAddress);
</script>
</body>
</html>

启动入口类查看结果

package com.liuhaiyang.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringbootTest21Application {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootTest21Application.class, args);
    }

}

?

?

?

?2?Thymeleaf基本表达式功能对象

模板引擎提供的一组功能性内置对象,可以在模板中直接使用这些对象提供的功能方法工作中常使用的数据类型,如集合,时间,数值,可以使用 Thymeleaf 的提供的功能性对象
来处理它们内置功能对象前都需要加#号,内置对象一般都以 s 结尾

官方手册:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

#dates: java.util.Date 对象的实用方法: <span th:text="${#dates.format(curDate, 'yyyy-MM-dd HH:mm:ss')}"></span>

#calendars: 和 dates 类似, 但是 java.util.Calendar 对象;

#numbers: 格式化数字对象的实用方法;

#strings: 字符串对象的实用方法: contains, startsWith, prepending/appending 等;

#objects: 对 objects 操作的实用方法;

#bools: 对布尔值求值的实用方法;

#arrays: 数组的实用方法;

#lists: list 的实用方法,比如<span th:text="${#lists.size(datas)}"></span>

#sets: set 的实用方法;

#maps: map 的实用方法;

#aggregates: 对数组或集合创建聚合的实用方法;

下面举几个简单的说明一下Date、String的一些方法写一个例子

controller类

package com.liuhaiyang.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Date;

@Controller
public class UserController2 {
    @RequestMapping("/function")
    public String function(Model model){
        model.addAttribute("time",new Date());
        model.addAttribute("data","springbootHelloWorld");

        return "function";
    }
}

前端function.html代码

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div th:text="${time}"></div>
<div th:text="${#dates.format(time,'yyyy-MM-dd HH:mm:ss')}"></div>
<div th:text="${data}"></div>
<div th:text="${#strings.substring(data,0,10)}"></div>  <!--包括0,不包括10-->
</body>
</html>

其他代码复用上面的

结果截图:

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 11:44:20  更:2021-10-19 11:46:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:45:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码