[SPRING] Thymeleaf를 사용하여 Spring 모델에서 javascript 변수 설정하기
SPRINGThymeleaf를 사용하여 Spring 모델에서 javascript 변수 설정하기
Spring 모델에서 모델 변수를 읽고 Javascript로 설정하려면 어떻게해야합니까?
Thymeleaf를 템플릿 엔진으로 사용하고 있습니다.
봄 쪽 :
@RequestMapping(value = "message", method = RequestMethod.GET)
public String messages(Model model) {
model.addAttribute("message", "hello");
return "index";
}
고객 입장에서:
<script>
....
var m = ${message}; // not working
alert(m);
...
</script>
해결법
-
==============================
1.공식 문서에 따르면 :
공식 문서에 따르면 :
<script th:inline="javascript"> /*<![CDATA[*/ var message = /*[[${message}]]*/ 'default'; console.log(message); /*]]>*/ </script>
-
==============================
2.
var message =/*[[${message}]]*/ 'defaultanyvalue';
-
==============================
3.Thymeleaf 3 지금 :
Thymeleaf 3 지금 :
추가 정보 : http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#javascript-inlining
-
==============================
4.문서에 따르면 인라이닝을 수행하는 몇 가지 방법이 있습니다. 상황에 따라 선택해야하는 올바른 방법입니다.
문서에 따르면 인라이닝을 수행하는 몇 가지 방법이 있습니다. 상황에 따라 선택해야하는 올바른 방법입니다.
1) 단순히 변수를 서버에서 javascript로 가져옵니다.
<script th:inline="javascript"> /*<![CDATA[*/ var message = [[${message}]]; alert(message); /*]]>*/ </script>
2) javascript 변수를 서버 측 변수와 결합합니다 (예 : 당신은 자바 스크립트 내부 요청에 대한 링크를 만들 필요가 :
<script th:inline="javascript"> /*<![CDATA[*/ function sampleGetByJquery(v) { /*[+ var url = [[@{/my/get/url(var1=${#httpServletRequest.getParameter('var1')})}]] + "&var2="+v; +]*/ $("#myPanel").load(url, function() {}); } /*]]>*/ </script>
내가 해결할 수없는 한 가지 상황 - 자바 스크립트 내부에서 자바 스크립트 변수를 전달해야합니다 (템플릿을 호출하는 것은 불가능합니다).
-
==============================
5.
//Use this in java @Controller @RequestMapping("/showingTymleafTextInJavaScript") public String thankYou(Model model){ model.addAttribute("showTextFromJavaController","dummy text"); return "showingTymleafTextInJavaScript"; } //thymleaf page javascript page <script> var showtext = "[[${showTextFromJavaController}]]"; console.log(showtext); </script>
-
==============================
6.이런 종류의 일이 야생에서 일어나는 것을 보았습니다.
이런 종류의 일이 야생에서 일어나는 것을 보았습니다.
<input type="button" th:onclick="'javascript:getContactId(\'' + ${contact.id} + '\');'" />
from https://stackoverflow.com/questions/25687816/setting-up-a-javascript-variable-from-spring-model-by-using-thymeleaf by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 데이터베이스에 의존하지 않고 스프링 - 부트 응용 프로그램을 시작하는 방법은 무엇입니까? (0) | 2018.12.22 |
---|---|
[SPRING] 스프링 부트 : 뚱뚱한 항아리가있는 임의의 디렉토리에서 외부 application.properties 파일을 사용할 수 있습니까? (0) | 2018.12.22 |
[SPRING] 테스트 용 임베디드 H2 데이터베이스 용 스프링 구성 (0) | 2018.12.22 |
[SPRING] 봄 보안 HTTP RESTFul에 기본 및 웹용 FormLogin (쿠키) - 주석 (0) | 2018.12.22 |
[SPRING] 멀티 파트 파일을 파일로 변환하는 방법? (0) | 2018.12.22 |