th 表达式的简单使用。
一、使用场景,页面中,循环遍历,获得控制器穿过来的值。
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 表达式的简单使用。的更多相关文章
- EL表达式的简单介绍
EL表达式的简单介绍 一.JSP EL语言定义 E L(ExpressionLanguage) 目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于ECMAScript 和 XPath 表达式 ...
- sql server 公共表达式的简单应用(cte)
一.前言 现在做项目数据访问基本都会选择一种orm框架,它以面向对象的形式屏蔽底层的数据访问形式,让开发人员更集中在业务处理上,而不是和数据库的交互上,帮助我们提高开发效率:例如一些简单的insert ...
- Linq和Lamda表达式的简单处理方式
一 什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. ...
- EL表达式的简单实用
EL表达式 EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方 ...
- 前缀、中缀、后缀表达式以及简单计算器的C++实现
前缀表达式(波兰表达式).中缀表达式.后缀表达式(逆波兰表达式) 介绍 三种表达式都是四则运算的表达方式,用以四则运算表达式求值,即数学表达式的求解. 前缀表达式 前缀表达式是一种没有括号的算术表达式 ...
- Java中Lambda表达式的简单使用
Lambda表达式是Java SE 8中一个重要的新特性.你可以把 Lambda表达式 理解为是一段可以传递的代码 (将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风格 ...
- (二)Thymeleaf标准表达式之——简单表达式
2. 标准表达式(Standard Expression Syntax) 标准表达式包含以下几个方面: 简单表达式: 变量表达式: ${...} 选择变量表达式: *{...} 消息表达式: #{.. ...
- lambda表达式的简单入门
前言:本人在看<Java核心技术I>的时候对lamdba表达式还不是太上心,只是当做一个Java 8的特性了解一下而已,可是在<Java核心技术II>里面多次用到,所以重新入门 ...
- C# lambda表达式(简单易懂)
前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一 ...
- [Swust OJ 322]--东6宿舍灵异事件(中缀表达式转化为后缀表达式的简单运用)
题目链接:http://acm.swust.edu.cn/problem/322/ Time limit(ms): 1000 Memory limit(kb): 65535 Descripti ...
随机推荐
- 【LeetCode】565. Array Nesting 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】872. Leaf-Similar Trees 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 中序遍历 先序遍历 后序遍历 日期 题目地址:htt ...
- Spring Boot 使用 Filter
Filter 是 JavaEE 中 Servlet 规范的一个组件,位于包javax.servlet 中,它可以在 HTTP 请求到达 Servlet 之前,被一个或多个Filter处理. 1. 编写 ...
- 一个老菜鸟的年度回忆 & 智能工厂奋斗的第三年,可能有你值得借鉴的
岁月蹉跎,寒冬的夜晚仍伏案疾书,见论坛中有诸多大神已经开始了一年的总结,突然安奈不住心中的躁动,也想为这今年的奋斗留下只言片语,没有年初的目标总结,没有未来的展望,就想作为一篇日记记录今年项目精力,为 ...
- <数据结构>XDOJ261.理解哈夫曼树
问题与解答 问题描述: 假设用于通信的电文由 n(2≤n≤30)个字符组成,字符在电文中出现的频度(权值)为 w1 w2- wn,根据该权值集合构造哈夫曼树,并计算该树的带权路径长度. 输入说明: 输 ...
- ActiveMQ基础教程(一):认识ActiveMQ
ActiveMQ是Apache软件基金会所研发开源的消息中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信. 现在的消息队列有不少,RabbitMQ.Kafka.RocketMQ,Z ...
- 【Python+Django+Pytest】数据库异常pymysql.err.InterfaceError: (0, '') 解决方案
问题背景: 接口自动化测试平台,在执行测试案例之外,还需要做以下五件事情(或步骤): 1.查询用户在数据准备中预置的测试套件层数据初始化相关sql (setUp_class方法中) 2.查询用户在数 ...
- PowerShell 【Switch篇】
如果你学过其他的高级语言一定对Switch不陌生,下面讲解一下基本语法. 例1: 1 $n=Get-Random 5 2 $s='小明考试得分' 3 switch($n) 4 { 5 0 {$m=30 ...
- spring boot 单元测试 --- 在测试类使用 javabean注解操作接口
1.依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s ...
- 第10组 Beta冲刺 (2/5)(组长)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14015412.html ·作业博客:https://edu.cnblogs.co ...