Web/Thymeleaf

[Thymeleaf] 06. inline style

  • -
반응형

이번 포스트에서는 inline 형태로 Thymeleaf를 사용하는 방법에 대해 살펴보자.

 

inline style

 

inlie expression

기본적으로 Thyleleaf는 html 태그에 사용자 정의 속성을 이용해서 부가적인 기능을 추가한다. inline style은 사용자 정의 속성 없이 [[${...}]] 처럼 두 개의 대괄호 내에 표현식을 작성하는 방식이다.

<ul>
  <li th:text="'제목:' +#{home.title}">property 사용</li>
  <li th:text="'사용자: '+${user.name}">attribute 사용</li>
  <li>제목: [[#{home.title}]]</li>
  <li>사용자: [[${user.name}]]</li>
</ul>

만약 [[]] 자체를 사용해야 하는 경우에는 th:inline="none"을 이용해서 escape 시켜줘야 한다.

<p th:inline="none">A double array looks like this: [[1, 2, 3], [4, 5]]!</p>

inline 형식을 사용하면 코드가 좀 더 간단해 보일지는 모르지만 파일을 직접 실행했을 때 디자인 프로토타입을 확인할 수 없다는 단점이 있을 수 있다.

 

javaScript 작성

html.영역에서는 inline style과 그렇지 않을 때의 장/단점에 대해 이야기해 볼 수 있지만 javascript 영역에서는 선택권이 없다. 왜냐면 javascript 영역에서는 속성을 정의할 태그가 없기 때문이다.

javascript영역에서 Thymeleaf를 사용하기 위해서는 th:inline="javascript"를 <script>에 추가하고 inline 방식으로 표현식을 작성한다. 이때 만약 디자인 프로토타입을 추가하고 싶다면 블록주석으로 inline 표현식을 감싸고 프로토타입 내용을 추가할 수도 있다.

<script th:inline="javascript">
	let username = [[${user.name}]];
	let title = /*[[#{home.title}]]*/ "페이지 제목"
	console.log(username, title)
</script>

 

css 작성

css 영역에서 inline 스타일로 작성하는 것 역시 javascript에서의 방식과 매우 유사하다.

<style th:inline="css">
    .[[${classname}]] {
      text-align: [[${align}]];
    }
</style>

 

 

반응형

'Web > Thymeleaf' 카테고리의 다른 글

[Thymeleaf] 05.레이아웃 재사용  (0) 2024.01.14
[Thymeleaf] 04. 레이아웃  (0) 2023.12.14
[Thymeleaf] 03. 제어문  (0) 2023.12.14
[Thymeleaf] 02. 표준 표현식  (0) 2023.12.10
[Thymeleaf] 01. Hello Thymeleaf  (0) 2023.12.09
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.