기억의 습작

thymeleaf 에 있는 객체를 javascript에서 사용하기. 본문

ETC

thymeleaf 에 있는 객체를 javascript에서 사용하기.

뿌사리다 2021. 10. 14. 00:00

안되는 이유

1. 외부 JS 파일은 지원하지 않는다.
    <script th:inline="javascript" src="../js/matinglist.js"></script>    <-- 이런식으로 외부JS 사용시 객체가 값 못불러옴
   따라서 무조건 html 화면안에 아래와 같이 구현되어야 한다.

<script type="text/javascript" th:inline="javascript"> 
$(document).ready(function(){
/*<![CDATA[*/		
	var userId = /*[[${yourObject}]]*/;
/*]]>*/		
});
</script>

 

2. 객체가 상호 참조가 걸린 상태라면 사용할 수 없다. (JPA에서 1:N 매핑걸린상태)

콘솔창에 상호참조때문에 overstack 걸린내용이 보일것이다.
해당 객체가 gson을 이용하여 string 값이 안뽑아지면 thymeleaf에서도 사용 못한다.
해결방법은 form 클래스를 따로 만들어서 필요한값 set 해주고 그걸 thymeleaf로 넘겨서 사용하면 된다.

 

와~ 별거 아닌데 이것때문에 몇일을 고생했던가...   (오늘 졸라 기쁨..ㅋ)

728x90
반응형
LIST