간펴니
간편 자바프로그래밍
간펴니
전체 방문자
오늘
어제
  • 전체보기 (185)
    • 알고리즘 (2)
    • JAVA (69)
      • 이펙티브 자바 (47)
      • JAVA 병렬프로그래밍 (5)
      • 자바 (17)
    • SPRING (60)
      • Spring (12)
      • IceWater Community (37)
      • Homme Shop (10)
      • 토비의 스프링 (1)
    • SPRING BOOT (4)
      • WhiteRecord (7)
    • 오류 (9)
    • DB (10)
      • ORACLE (5)
      • MYSQL (1)
      • MYBATIS (4)
      • JPA (0)
      • 대용량 데이터 베이스 (0)
      • SQL (0)
    • FRONT (8)
      • JSP (2)
      • JavaScript (2)
      • Jquery (3)
      • Thymeleaf (1)
    • AWS (6)
    • JNI (10)
    • 회고 (0)
    • MQ (0)
    • Radis (0)
    • Git (0)
    • Docker (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 컨셉 변경

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
간펴니

간편 자바프로그래밍

FRONT/Thymeleaf

타임리프 js에서 model 데이터 받기 ( th:inline )

2022. 1. 17. 23:14
728x90

현재 타임리프를 사용하고 있지만, 전에는 jsp를 사용했었다.

 

컨트롤러에서 model을 사용해 프론트로 데이터를 보내면

 

key값을 이용해 ${key} 이런식으로 값을 가져올 수 있었고, js에서도 마찬가지였다.

 

그런데 이번에 타임리프를 사용하면서 jsp와 거의 유사한 방식으로 인해 사용해 어려움을 느끼진 않았는데,

 

항상 데이터를 받을때 th속성을 이용해야 한다는 것이 꽤나 불편했다.

 

특히 <script> 태그에서 js를 사용할 때 ${date} 로 받는게 안되고,

 

검색해도 나오질 않아서......(검색 키워드가 잘 못 됐었던 것 같다...)

 

 <input> 태그에 th:value로 값을 받고,  그걸 document.getById.value로 가져오는 눈물나는(?) 개발을 하고 있었다   

 

그러다가 <th:inline> 이란것을 알게됐다.

 

th:속성을 사용하지 않아도 jsp처럼 직접 데이터를 출력 할 수 있다.

 

방법은 아주 간단하다.

 

 

자바스크립트라면 <script th:inline="javascript" >,

 

그냥 body 태그 내에서 사용 할 거라면 <body th:inline="text">

 

이런식으로 th:inline을 넣어주면 되고, 물론 div태그 안에 넣어서 그 안에서 만 사용 할 수 있겠다.

 

사용은 

 

<script th:inline="javascript">

let sessionID = [[${session.member.id}]]

let result = [[${result}]]

</script>

 이런식으로, [[ ]] 를 붙어주면 된다.

 

** 타임리프에서 세션값을 가져오기 위해선 jsp와 다르게 앞에 session. 을 붙여야 한다.

 

 

728x90
저작자표시 (새창열림)
    간펴니
    간펴니
    개발공부 기록하는 곳

    티스토리툴바