thymeleaf 判断对象是否为空有关逻辑处理

场景一
在项目中,有时会遇到下面场景:
添加页面和编辑页面共用一个页面,而通过后台传来的对象来判断提示用户是编辑页面还是添加页面,而编辑页面要使用这个对象的,添加页面用不到。在此记录下自己遇到的问题,看到了别人的博客才解决了

@RequestMapping(path = {"/add", "edit"}, method = {RequestMethod.GET})
public String addOrEdit(Model model, @RequestParam(name = "postId", required = false) Long postId) {if (!StringUtils.isEmpty(postId)) {UserLoginResult userLoginResult = (UserLoginResult) SecurityUtils.getSubject().getPrincipal();PostVO postVO = postService.findOnePostVO(postId);Assert.isTrue(postVO != null, "该帖子已被删除");Assert.isTrue(postVO.getUserId().longValue() == userLoginResult.getId().longValue(), "没有权限操作");model.addAttribute("post", postVO);}List<Category> categoryList = categoryService.findCategoryAllOfName();model.addAttribute("list", categoryList);return "jie/add";}
}

前后使用了 th:if,th:switch,三目运算符等无法实现,目前来说这样可以实现

<!-- 正确写法可以实现 -->
<li class="layui-this" th:text="${post != null?'编辑页面':'添加页面'}"></li>
<!-- 无法实现 -->
<li class="layui-this" th:text="${post} ne 'null'?'编辑页面':'添加页面'"></li>

场景二
对于上述编辑页面,要使用后台数据进行下拉框的填充。而添加页面无需下拉框数据的填充。由于二者是公用一个页面,解决如下,记录一下

<div class="layui-input-block"><select lay-verify="required" name="categoryId" lay-filter="column"><option></option><!-- 此处遍历 --><option th:each="category:${categoryList}" th:value="${category.id}"th:text="${category.categoryName}"<!-- 加了这个 ‘?’ 用于判断 -->th:selected="${category.id} == ${post?.categoryId}"></option></select>
</div>

th:selected="${category.id} == ${post?.categoryId}"

  • 当在编辑页面时,下拉框时需要数据填充,并根据条件选中某一项数据
  • 当在添加页面时,是不需要数据的。此时就要下拉框取消选中
  • 这个 ? 就是为了判断对象是否为空,如果为空就不会渲染页面(下拉框选中)

thymeleaf判断对象是否为空的相关逻辑处理相关推荐

  1. java 判断对象是否为空_java怎么判断对象是否为空

    java怎么判断对象是否为空 发布时间:2020-06-22 11:28:11 来源:亿速云 阅读:122 作者:Leah 本篇文章展示了java判断对象是否为空的具体操作,代码简明扼要容易理解,绝对 ...

  2. java怎么判断对象不为空_java判断对象是否为空的方法

    java判断对象是否为空的方法 发布时间:2020-06-25 14:39:17 来源:亿速云 阅读:134 作者:Leah 这篇文章将为大家详细讲解有关java判断对象是否为空的方法,文章内容质量较 ...

  3. java判断bean是否为空_总结java中判断对象是否为空的方法

    我们想要判断对象是否为空,像基本类型那样判断是不可以的, ==={} ?这样是错误的,因为这只是比较引用地址是否相同,所以可以采取下面的方法来进行判断. 1.根据for...in遍历对象,如果存在则返 ...

  4. html判断对象是否为空,javascript怎么判断对象是否为空对象?

    在开发过程中常常会遇到判断对象和数组是否为空的情况,那么怎么判断对象是否为空对象?下面本篇文章就来给大家介绍一下使用javascript判断对象是否为空对象的方法,希望对大家有所帮助. 1.通过 JS ...

  5. java判断一个对象是否为空_Java中判断对象是否为空的方法的详解

    首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.util包下的.这两种StringU ...

  6. javascript中判断对象是否为空几种场景

    1. 代码1: var a = {}; if(!a){ console.log(1);} else if(a == null) { console.log(2);}  else { console.l ...

  7. python观察日志(part5)--判断对象是否为空

    python之判断对象是否为空 判断对象是否为None 要研究这个问题,首先我们要弄清楚,啥是None. ①None表示空值,它是一个特殊 Python 对象, None的类型是NoneType. ② ...

  8. es6 对象中是否有键值_js/es6判断对象是否为空,并判断对象是否包含某个属性...

    js判断对象为空以及有好几种方法了,但是个人觉得不是特别方便. 比如: 1.把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} " 2.for i ...

  9. JS判断对象是否为空(个人常用)

    JS判断对象是否为空 1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var isNull = (JSON.stringify( ...

  10. 微信小程序中判断对象是否为空;或者是否包含某个字符串,以及使用indexOf判断时注意事项

    由于要校验cookie的状态是否为有效的,开发了测试接口,根据返回的数据判断是否有效,若无效则调用登录接口,获取新的cookie信息: 判断信息如下: success: function (res) ...

最新文章

  1. 一些少见的下载地址(按需求更新)
  2. 在python中、下列代码的输出是什么-关于下列python多线程代码输出效果的疑问?...
  3. hibernate教程--常用配置和核心API详解
  4. 建了个龙悦居社区网www.long360.net,图片独立部署
  5. python线程创建对象_Python线程下thread对象的用法介绍(附实例)
  6. java反射机制_java反射机制的讲解
  7. 想给男友一个惊喜,没想到是这样的结局......
  8. 用python批量执行VBA代码
  9. 交换机知识--生成树协议
  10. python小程序设计4s店_python自写的车牌识别小程序,完全自主实现。图片处理
  11. Proj.4 API 中文参考
  12. 手机图标ui设计尺寸:ui设计app图标尺寸规范
  13. 考研计算机专业课961考什么,北航计算机考研(961)经验谈
  14. 软件测试面试题:简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试?
  15. QQ通信原理及QQ是怎么穿透内网进行通信的?
  16. js计算文件MD5值
  17. php pecl libevent,ubuntu – 安装PHP libevent PECL包的问题
  18. SqlServer与MySql的一些常用用法的差别
  19. win10找不到便签(便利贴)怎么办,Win10找回便签功能的方法
  20. Buffer Pool详解

热门文章

  1. 阿里云云计算 26 SLB的配置
  2. 极客大学产品经理训练营 认识产品经理上 第1课总结
  3. 算法:全一子串的数量 或 全零子串的数量 1513. Number of Substrings With Only 1s
  4. NumPy库---一元函数
  5. oracle转为纯大写,Oracle认证:oracle中小写转换成大写方法
  6. 可以在线测试血糖的软件,血糖也能自己测,糖护士荷智能血糖仪体验:测血糖就这么简单...
  7. 2021-09-08 全排列
  8. 决策树C4.5算法的不足
  9. numpy.squeeze()的用法
  10. 创建一个超链接,点击这个超链接,显示数据库中的数据信息:MVC模式查询