프로그래밍/Spring & Spring boot

[Springboot / 스프링부트] thymeleaf (3) 타임리프 th:with, Spring EL, 속성값 설정

pupu91 2022. 9. 26. 18:22
반응형

dto

 

controller

 

 

 

1. th:with

   - 지역 변수를 지정해서 사용 가능
<th:block th:with="start = ${ selectCriteria.startPage}, last = ${ selectCriteria.endPage}">
	<th:block th:each="p : ${ #numbers.sequence(start, last)}">
    	<th:block th:if="$[ selectCriteria.pageNo eq p}>
        	<button th:text="${ p }" disabled></button>
         </th:block>
		 <th:block th:if="${ selectCriteria.pageNo ne p }">
			 <button th:text="${ p }"></button>
		</th:block>
	</th:block>
</th:block>

 

 

2. Spring EL

  - 변수 표현식${...}은 SpringEL이라는 스프링에서 제공하는 표현식을 사용할 수 있음
     단순한 변수가 아닌 Object, List, Map 같은 객체를 사용하기 위해 활용
<ul>
		<li th:text="${ member.name }"</li>
		<li th:text="${ member['age'] }"</li>
		<li th:text="${ member.getGender() }"></li><!-- 필드는 있지만 게터 메소드가 없으면 이 방법 사용 못함 -->	
	</ul>
	
	<p>List</p>
	<ul>
		<li th:text="${ memberList[2].name }"></li>
		<li th:text="${ memberList[2]['age'] }"></li>
		<li th:text="${ memberList[2].getGender() }"></li>
	</ul>
	
	<p>List</p>
	<ul>
		<li th:text="${ memberList[2].name }"></li>
		<li th:text="${ memberList[2]['age'] }"></li>
		<li th:text="${ memberList[2].getGender() }"></li>
		<li th:text="${ memberList.get(1).name }"></li>
		<li th:text="${ memberList.get(1)['age'] }"></li>
		<li th:text="${ memberList.get(1).getGender() }"></li>
	</ul>
	
	<p>Map</p>
	<ul>
		<li th:text="${ memberMap['m04'].name }"></li>
		<li th:text="${ memberMap['m04']['age'] }"></li>
		<li th:text="${ memberMap['m04'].getGender() }"></li>
	</ul>
	
	<h2>속성값 설정</h2>
	<span class="text" th:attrappend="class='bold '">class 속성 확인 </span>
	<span class="text" th:attrappend="class=' bold'">class 속성 확인 </span>
	<span class="text" th:classappend="bold">class 속성 확인 </span>

반응형