一、使用场景,页面中,循环遍历,获得控制器穿过来的值。

1.1 控制器

    /**
* 获得所有的图书信息
* @return
*/
@RequestMapping("/turnIndexPage")
public String turnIndexPage(ModelMap modelMap){
Map<String, Object> resultMap = bookService.selectAllBooks();
if (200 == (Integer)resultMap.get("code")){
List<Book> bookList = (List<Book>) resultMap.get("result");
modelMap.addAttribute("bookList",bookList);
return "index";
}
return "404";
}

1.2 HTML页面

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>首页</title> </head> <h1>欢迎登录图书管理系统</h1> <table border="1px solid black" cellspacing="0" >
<tr>
<th>图书编号</th>
<th>名称</th>
<th>价格</th>
<th>作者</th>
<th>日期</th>
<th>类型</th>
<th>操作</th>
</tr> <!-- 1.1 book,起的名字 1.2 后台的值
1. 写在th 标签内部 each 标签 th:each="book: ${bookList}"
2. 直接跳HTML页面,搞不定,跳到后台控制器,在让它跳转到指定的HTML 页面。
-->
<tr th:each="book:${bookList}">
<td th:text="${book.id}"></td>
<td th:text="${book.bookname}"></td>
<td th:text="${book.price}"></td>
<td th:text="${book.autor}"></td>
<td th:text="${book.bookdate}"></td>
<td th:text="${book.booktype}"></td>
<td>
<a th:href="@{deleteBook(id=${book.id})}">删除</a>
<a th:href="@{updateBook(id=${book.id})}">修改</a>
<a href="toAdd">录入</a>
</td>
</tr> </table> </body>
</html>

1.3 跳到后台,再跳到HTML页面。

    /**
*
* 跳转到add 添加页面
* @return
*/
@RequestMapping("/toAdd")
public String toAdd(){
return "add";
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>录入书籍</title>
</head>
<body>
<form method="post" action="insertBook">
名称 <input type="text" name="bookname" ><br />
价格 <input type="number" name="price" ><br />
作者 <input type="text" name="autor"><br />
类型 <input type="text" name="booktype" ><br />
<input type="submit" value="提交">
</form> </body>
</html>

二、页面取值。

2.1 控制器

    /**
* 获得要修改的信息
* @param book
* @param modelMap
* @return
*/
@RequestMapping("/updateBook")
public String updateBook(Book book,ModelMap modelMap){ Map oneBook = bookService.getOneBook(book.getId());
if (200 == (Integer) oneBook.get("code")){
modelMap.addAttribute("book",oneBook.get("result"));
return "update";
}else {
return "404";
}
}

2.2 页面

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" action="update">
<input type="hidden" name="id" th:value="${book.id}"><br />
名称 <input type="text" name="bookname" th:value="${book.bookname}"><br />
价格 <input type="number" name="price" th:value="${book.price}"><br />
作者 <input type="text" name="autor" th:value="${book.autor}"><br />
类型 <input type="text" name="booktype" th:value="${book.booktype}"><br />
<input type="submit" value="提交">
</form> </body>
</html>

th 表达式的简单使用。的更多相关文章

  1. EL表达式的简单介绍

    EL表达式的简单介绍 一.JSP EL语言定义 E L(ExpressionLanguage)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于ECMAScript 和 XPath 表达式 ...

  2. sql server 公共表达式的简单应用(cte)

    一.前言 现在做项目数据访问基本都会选择一种orm框架,它以面向对象的形式屏蔽底层的数据访问形式,让开发人员更集中在业务处理上,而不是和数据库的交互上,帮助我们提高开发效率:例如一些简单的insert ...

  3. Linq和Lamda表达式的简单处理方式

    一 什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...

  4. EL表达式的简单实用

    EL表达式 EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方 ...

  5. 前缀、中缀、后缀表达式以及简单计算器的C++实现

    前缀表达式(波兰表达式).中缀表达式.后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解. 前缀表达式 前缀表达式是一种没有括号的算术表达式 ...

  6. Java中Lambda表达式的简单使用

    Lambda表达式是Java SE 8中一个重要的新特性.你可以把 Lambda表达式 理解为是一段可以传递的代码 (将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风格 ...

  7. (二)Thymeleaf标准表达式之——简单表达式

    2. 标准表达式(Standard Expression Syntax) 标准表达式包含以下几个方面: 简单表达式: 变量表达式: ${...} 选择变量表达式: *{...} 消息表达式: #{.. ...

  8. lambda表达式的简单入门

    前言:本人在看<Java核心技术I>的时候对lamdba表达式还不是太上心,只是当做一个Java 8的特性了解一下而已,可是在<Java核心技术II>里面多次用到,所以重新入门 ...

  9. C# lambda表达式(简单易懂)

    前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一 ...

  10. [Swust OJ 322]--东6宿舍灵异事件(中缀表达式转化为后缀表达式的简单运用)

    题目链接:http://acm.swust.edu.cn/problem/322/ Time limit(ms): 1000 Memory limit(kb): 65535     Descripti ...

随机推荐

  1. 【LeetCode】735. Asteroid Collision 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 栈 日期 题目地址:https://leetcode ...

  2. 【LeetCode】334. Increasing Triplet Subsequence 解题报告(Python)

    [LeetCode]334. Increasing Triplet Subsequence 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://leetcode. ...

  3. Misaki's Kiss again(hdu5175)

    Misaki's Kiss again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  4. CS229 机器学习课程复习材料-概率论

    本文是斯坦福大学CS229机器学习课程的基础材料,原始文件下载 原文作者:Arian Maleki , Tom Do 翻译:石振宇 审核和修改制作:黄海广 备注:请关注github的更新. CS229 ...

  5. 使用 windows bat 脚本命令 一键启动MySQL服务

    @echo off rem Copyright (c) 2019 Moses and/or its affiliates. rem Get Administrator Rights >nul 2 ...

  6. Windows Server 2016 服务器安装IIS

    1. 打开服务器管理器,点击[添加角色和功能选项]  2.进入[添加角色和功能向导]页面,点击"下一步"  3.安装类型选择[基于角色或基于功能的安装],点击"下一步&q ...

  7. Win10 开启 Hyper-V 及简单使用

    简介 Windows 10 上内置了 Hyper-V.Hyper-V 提供硬件虚拟化,每个虚拟机都在虚拟硬件上运行. 系统要求 Windows 10 企业版.专业版或教育版.家庭版.移动版.移动企业版 ...

  8. 分区命令(大于2TB的分区)

    注意:parted命令在恢复误删除的分区时候,容易失败的几点: (1)只划分一个分区.恢复失败 (2)划分了2个分区,但是没有格式化.直接删除一个分区,恢复也会失败. (3)做删除操作时候,如果同时删 ...

  9. Linux上天之路(十八)之自动化部署

    pexpect Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Pyth ...

  10. Vue养成之路

    目录 Vue系列教程(一)之初识Vue Vue系列教程(二)之Vue进阶 Vue系列继承(三)之Vue-cli脚手架的使用 ... 更新中 基础入门 Vue基础(一)之es6 Vue基础(二)之箭头函 ...