thymeleaf如何迭代遍历,如何判断

简介: thymeleaf如何迭代遍历,如何判断



哈哈哈,自己看着舒服就行~

这几天在业余时间搞一个电商项目,可以说是边学边做,效率比较低,但是通过做这个项目,的的确确的能学到不少,每天都抽出点时间往后做做,bug在不知不觉中解决……

今天主要是记录一下thymeleaf在前台的迭代读取与遍历。

以前在遇到页面中数据迭代时,用的最多的要数jstl表达式了,除了jstl表达式外,thymeleaf倒也是个不错的选择,并且使用起来也特别简单。

首先需要引入thymeleaf依赖,代码如下:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

通过springmvc获取到数据,放在model中就可以在页面中获取,控制器中的代码如下所示:

//查询所有的商品信息
    @RequestMapping("getProList")
    public String findAllPro(Model model){
        model.addAttribute("proList",productService.findAllProduct());
        return "proList";
    }

然后在页面中我们就可以遍迭代数据了。

迭代表格:

<table class="layui-table" lay-size="lg">
    <colgroup>
        <col width="150">
        <col width="200">
        <col>
    </colgroup>
    <thead>
    <tr>
        <th>编号</th>
        <th>名称</th>
        <th>图片</th>
        <th>价格</th>
        <th>库存</th>
        <th>描述</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <!--遍历用户信息-->
    <tr th:each="pro : ${proList}">
        <td th:text="${pro.id}"></td>
        <td th:text="${pro.name}"></td>
        <td>
           <img th:src="'/images/'+${pro.fileName}" width="50px" height="50px">
        </td>
        <td th:text="${pro.price}"></td>
        <td th:text="${pro.stock}"></td>
       <!-- <td th:if="${#strings.isEmpty(pro.description)}">暂无描述</td>-->
        <td th:text="${pro.description eq null or pro.description eq ''}? '暂无描述':${pro.description}"></td>
        <td>
            <button type="button" class="layui-btn layui-btn layui-btn-normal layui-btn-xs">
                <i class="layui-icon">&#xe642;</i>
            </button>
            <button type="button" class="layui-btn layui-btn-danger layui-btn-xs">
                <i class="layui-icon">&#xe640;</i>
            </button>
        </td>
    </tr>
    </tbody>
</table>

迭代下拉列表:

<div class="layui-input-inline" style="width: 20%">
            <select name="categorylevelthreeId" id="three">
                <option value="">请选择</option>
                <option  th:each="cate : ${threeList}" th:value="${cate.id}" th:text="${cate.name}"></option>
            </select>
        </div>

其他迭代基本都一样,那如果我们需要在迭代的过程中判断,该如何写呢?

可以使用下面两种方式:

<td th:text="${user.state eq 0}? '已禁用' : '正常使用'" ></td>
<td th:text="${pro.description eq null or pro.description eq ''}? '暂无描述':${pro.description}"></td>

效果如下:


点分享

点点赞

点在看

相关文章
|
Ubuntu 网络安全
Unit firewalld.service could not be found.
Unit firewalld.service could not be found.
1303 0
|
消息中间件 NoSQL Java
Springboot 指定重发的次数和延迟时间,定时异步执行 重发任务
Springboot 指定重发的次数和延迟时间,定时异步执行 重发任务
1127 0
Springboot 指定重发的次数和延迟时间,定时异步执行 重发任务
|
前端开发 Java 数据库连接
导出文件:使用Hutool导出数据为Excel文件
导出文件:使用Hutool导出数据为Excel文件
1484 0
导出文件:使用Hutool导出数据为Excel文件
|
Java 程序员
Java|List.subList 踩坑小记
不应该仅凭印象和猜测,就开始使用一个方法,至少花一分钟认真读完它的官方注释文档。
253 1
|
监控 网络协议 网络架构
|
缓存 监控 算法
提高 Webpack 热更新的性能
【10月更文挑战第23天】还可以进一步深入探讨热更新性能优化的具体案例、不同场景下的优化策略,以及与其他相关技术的结合应用等方面的内容。通过全面、系统地了解热更新性能优化的方法和技巧,能够更好地利用这一功能,为项目的成功开发提供有力保障。同时,要不断关注技术的发展动态,以便及时掌握最新的热更新技术和最佳实践。
|
前端开发 JavaScript Java
获取Servlet中的request.getContextPath方法详解
获取Servlet中的request.getContextPath方法详解
|
安全 Java 数据安全/隐私保护
Spring Boot优雅实现多租户架构:概念与实战
【4月更文挑战第29天】在多租户系统中,一个应用实例服务于多个租户,每个租户享有独立的数据视图,而应用的基础设施被共享。这样的架构不仅优化了资源使用,还能降低维护和运营成本。本文将详细介绍如何在Spring Boot中实现多租户架构,并提供具体的实战案例。
549 2
|
容器
Thymeleaf内置对象与工具类【详解版】
Thymeleaf 3.0 提供了七大内置对象,包括${#ctx}(上下文对象)、${#param}(参数变量)、${#locale}(区域语言设置)、${#request}(HttpServletRequest)、${#response}(HttpServletResponse)、${#session}(HttpSession)和${#servletContext}(ServletContext)。示例代码展示了如何在后端传递不同对象容器中的参数到Thymeleaf模板。
535 0
|
开发工具 git
hbuilderX安装git插件→拉取线上gitlab项目
hbuilderX安装git插件→拉取线上gitlab项目