2016-12-27 40 views
1

我正在將項目從JSP遷移到Thymeleaf。JavaScript中的每個循環的Thymeleaf

在一些JSP的我做喜歡的東西是這樣的:

<script type="text/javascript"> 
    //<c:forEach items="${pages}" var="page"> 

    ... 
    var l = new google.maps.LatLng("${page.lat}", "${page.long}"); 
    ... 

    //</c:forEach> 
</script> 

我怎麼會做相同的Thymeleaf?

回答

2

這是Thymeleaf 3.0.2工作液:

<script th:inline="javascript"> 
/*<![CDATA[*/ 

    /*[# th:each="page : ${pages}"]*/ 
     ... 
     var l = new google.maps.LatLng(/*[[${page.lat}]]*/, /*[[${page.long}]]*/); 
     ... 
    /*[/]*/ 

/*]]>*/ 
</script> 

爲什麼它的工作原理是在這裏解釋:[MAJOR FEAT] New syntax for textual template modes #395

0

你可以寫出來的屬性

<span id="myvar" th:text="${attributeName}"></span>

然後你可以用JS訪問它:

document.getElementById("myvar")jquery $('#myvar').text()

Thymeleaf代碼在服務器端和JS代碼運行在客戶端。我想知道jsp如何讓這個工作人員沒有任何竅門。

+0

感謝您的提示,但我不知道它會成功,因爲我想要生成JavaScript而不是HTML。我今天晚上試試。關於你對JSP的評論:你自己給出瞭解釋。它的工作原理是JSP引擎處理服務器上的頁面,並在瀏覽器發送的頁面內部生成JavaScript。行動頁面在這裏https://www.tessyglodt.lu/kaart和源代碼在這裏https://github.com/yglodt/tessyglodt.lu/blob/master/src/main/webapp/WEB-INF/ JSP/map.jsp – yglodt