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

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】419. Battleships in a Board 解题报告(Python & C++)

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

  2. 【剑指Offer】数据流中的中位数 解题报告(Python)

    [剑指Offer]数据流中的中位数 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...

  3. 1289 - LCM from 1 to n

    http://blog.csdn.net/acdreamers/article/details/18507767 这个是位图的链接,这篇写的挺好. 模板: 1 #include<math.h&g ...

  4. Java中PO、DO、DTO、 VO、 BO、POJO 、DAO、TO的概念

    1.  PO(persistant object) 持久对象 在 O/R 映射的时候出现的概念,如果没有 O/R 映射,没有这个概念存在了. 通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的 ...

  5. Capstone通用 USB Type-C音视频拓展坞转换芯片

    专业解决视频接口技术Capstone科技在2021年新推出四款低功耗单芯片USB Type-C音视频格式转换器方案──CS5266.CS5267.CS5268与CS5269.将为各种显示屏.外部显示设 ...

  6. Java Web程序设计笔记 • 【第7章 会话跟踪技术】

    全部章节   >>>> 本章目录 7.1 会话跟踪技术概述 7.1.1 为什么需要会话跟踪 7.1.2 会话的状态和跟踪 7.1.3 会话跟踪技术 7.1.4 会话跟踪工作流程 ...

  7. 【HTML响应式项目】成人教育官网前端页面(HTML+CSS+JS实现三端适应)

    这个页面是在校参赛的小组项目,除首页和所有课程页面以外由组内成员编写,发博客纯属记录. 项目源码已上传至码云仓库:https://gitee.com/ynavc/sss 项目演示地址:http://y ...

  8. Java初学者作业——编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表

    返回本章节 返回作业目录 需求说明: 编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表 课程名称 课程简介 JAVA课程 JAVA语言是目前最流行的编写语言,在本课程中将 ...

  9. [学习笔记] Oracle体系结构、下载安装、创建实例、客户端工具、网络服务名、服务管理

    Oracle体系结构 实例: 一个操作系统只有一个 Oracle 数据库 一个 Oracle 数据库可以有多个 Oracle 实例(通常只安装一个实例) 一个实例对应着一系列的后台进程和内存结构 表空 ...

  10. SpringBoot 之 JSR303 数据校验

    使用示例: @Component @ConfigurationProperties(prefix = "person") @Validated //使用数据校验注解 public ...