๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ์ด์•ผ๊ธฐ/Springboot

[thymeleaf] th:if ์กฐ๊ฑด ์•ˆ์— ๋ฐฐ์—ด์˜ ๊ธธ์ด ๊ฐ€์ ธ์˜ค๊ธฐ / #arrays.length()

by 0_0๐Ÿ–ค 2023. 11. 28.
๋ฐ˜์‘ํ˜•

 

 

thymeleaf์˜ th:if๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์กฐ๊ฑด์„ ํ™•์ธํ•˜๊ณ  true์ผ ๊ฒฝ์šฐ ์š”์†Œ๋ฅผ ํ‘œ์‹œ

false์ผ ๊ฒฝ์šฐ ์š”์†Œ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.

 

<div th:if="${num == 5}">
	<!-- num์ด 5์™€ ๊ฐ™์„ ๋•Œ ํ‘œ์‹œ ๋  ๋‚ด์šฉ -->
</div>

 

 

th:if๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์กฐ๊ฑด์‹ ๊ฒฐ๊ณผ๊ฐ€ true์ผ ๊ฒฝ์šฐ ํ‘œ์‹œ๋˜๊ฒŒ ๋จ

์กฐ๊ฑด์‹ ๊ฒฐ๊ณผ๊ฐ€ false์ผ ๊ฒฝ์šฐ ํ•ด๋‹น ์š”์†Œ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด th:unless๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค!

 

 

<div th:unless="${num == 5}">
	<!-- num์ด 5์™€ ๊ฐ™์ง€ ์•Š์„ ๋•Œ ํ‘œ์‹œ ๋  ๋‚ด์šฉ -->
</div>

 

 

๋ฌผ๋ก  th:if=${ num != 5 } ๋กœ ํ•ด๋„ ์ƒ๊ด€ ์—†๋‹ค.

 

 

 

 

 

 

 

 

ํ”„๋กœ์ ํŠธ ์ž‘์—… ์ค‘ model๋กœ ๋ณด๋‚ธ ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด์ด null์ผ ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก

th:if๋ฅผ ์ด์šฉํ•ด null์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํ–ˆ๋Š”๋ฐ ์ƒ๊ฐํ•œ ๋Œ€๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ์ž˜ ๋˜์ง€ ์•Š์•˜๋‹ค.

 

<!-- list ๊ฐ€ null์ผ ๊ฒฝ์šฐ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ์—†์Œ ํ‘œ์‹œ -->
<tr th:if="${list == null}">
  <td colspan="11" style="text-align: center; padding: 30px 0;">๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.</td>
</tr>

 

 

 

java๋กœ list๋ฅผ ์ถœ๋ ฅํ–ˆ์„ ๋•Œ ํ™•์‹คํžˆ ๋นˆ ๊ณต๊ฐ„์ธ ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.

list์— ๋‹ด๊ธด ๊ฐ’์ด ์—†์–ด ๋นˆ ๊ณต๊ฐ„์ผ ๋•Œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค๊ฐ€ ๋‚˜์™€์•ผ ํ•˜๋Š”๋ฐ

ํ™”๋ฉด์—์„œ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ์•ˆ๋˜์—ˆ๋‹ค.

 

 

 

 

 

 

์ฐพ์•„๋ณด๋‹ˆ ์ฝ˜์†”์— [] ๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์€ list๋ฅผ Object.put(attribute, value) ๋กœ ๋„ฃ์–ด์„œ

value๋กœ ์ดˆ๊ธฐํ™” ๋˜์–ด์žˆ์œผ๋‚˜ ๋น„์–ด์žˆ๋Š” ์ƒํƒœ์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š”...

 

๋”ฐ๋ผ์„œ null์ด ์•„๋‹Œ ํฌ๊ธฐ๊ฐ€ 0์ธ ๋ฐฐ์—ด์ด๋ผ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” ์ ‘๊ทผ๋ฒ•์„ ๋ฐ”๊ฟ” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋กœ ์กฐ๊ฑด์‹์„ ๋ฐ”๊ฟจ๋‹ค.

 

 

<!-- list ๋ฐฐ์—ด์˜ length๊ฐ€ 0๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ์—†์Œ ํ‘œ์‹œ -->
<tr th:if="${list.length() == 0}">
  <td colspan="11" style="text-align: center; padding: 30px 0;">๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.</td>
</tr>

 

 

 

๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์€ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋–ด๋‹ค.

Tyemeleaf ๋Š” ๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ์˜ ์ ‘๊ทผ์— ์ตœ์ ํ™” ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— length() ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€.

์ฐธ๊ณ ๋กœ list.length๋„ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๋Š” ํ‘œ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ๋œธ

 

 

๋” ์ฐพ์•„๋ณด๋‹ˆ themeleaf์—์„œ size() ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์†Œ๋“œ๋ฅผ ์ง€์›ํ•ด์„œ

 List, Set, Map๋“ฑ์˜ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ปฌ๋ ‰์…˜ ํฌ๊ธฐ๋‚˜  java ํ‘œ์ค€ ๋ฐฐ์—ด์˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋๋‹ค.

 

 

<!-- ์ผ๋ฐ˜ ๋ฐฐ์—ด์ผ ๊ฒฝ์šฐ -->
<tr th:if="${#arrays.size(list) == 0}">

<!-- ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด์ผ ๊ฒฝ์šฐ -->
<tr th:if="${#lists.size(list) == 0}">

 

 

 

๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๋ฐฐ์—ด์— ์‚ฌ์šฉํ•˜๋ ค๋ฉด size๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

length ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์œ„์—์„œ ์•ˆ๋œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ € ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์•ˆ๋˜๋Š”๊ฑฐ๊ณ 

#arrays.length(๋ฐฐ์—ด์ด๋ฆ„) ์ด๋Ÿฐ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

 

 

<tr th:if="${#arrays.length(list) == 0}">

 

 

 

ํ˜น์‹œ ๋ชฐ๋ผ null ๊ฒ€์ฆ๋„ ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ” ์ ์—ˆ๋”๋‹ˆ

์•„์ฃผ ์ž˜ ๋Œ์•„๊ฐ„๋‹ค ๐Ÿ˜€๐Ÿ˜€

 

 

<!-- ์กฐํšŒ ๊ฒฐ๊ณผ ์—†์Œ -->
<tr th:if="${list == null || #arrays.length(list) == 0}">
  <td colspan="11" style="text-align: center; padding: 30px 0;">๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.</td>
</tr>

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•