日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【spring boot】【thymeleaf】SPEL处理 null 值

發(fā)布時間:2024/9/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【spring boot】【thymeleaf】SPEL处理 null 值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

  • spring boot 2.1.1.RELEASE
  • thymeleaf 3.0

變量為 null 時,顯示默認值

name?:'Unknown'
當 name 變量為 null 時,顯示值 Unknown。等價于 name?name:'Unknown'。

對象為 null 時,避免調(diào)用方法或?qū)傩猿鲥e

placeOfBirth?.city
當 placeOfBirth 為 null 時,不再繼續(xù)調(diào)用屬性 city。

code?.toUpperCase()
當 code 為 null 時,不再繼續(xù)調(diào)用方法 toUpperCase。

Map 獲取的元素為 null

當 map 中沒有名為 name 的元素時,這樣寫會報錯 map.name。
安全的寫法是這樣:map['name']。

如果 map 中的元素為對象時,可以這樣寫:map['user']?.name。

List 類型數(shù)組越界

數(shù)組越界時,錯誤是這樣的:

Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "slist[2].score" (template: "exam/papers/edit" - line 117, col 92) Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1025E: The collection has '1' elements, index '2' is invalid

SPEL 是這樣的 slist[2].score,但 slist 不夠3個元素(EL1025E: The collection has '1' elements, index '2' is invalid),因此數(shù)組越界了。

解決辦法:添加數(shù)組大小的判斷。上面的情況下,用 #lists.size(slist)>=3?slist[2]?.score:0 替換 slist[2].score

參考

https://blog.csdn.net/sayyy/article/details/108011723
https://blog.csdn.net/sayyy/article/details/108011653

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的【spring boot】【thymeleaf】SPEL处理 null 值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。