2016-12-27 170 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