如何使用Thymeleaf 3.0.x获得未转义的 JavaScript内联输出?转义的内联效果很好。例子:

pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
  <groupId>org.thymeleaf</groupId>
  <artifactId>thymeleaf-spring3</artifactId>
  <version>3.0.3.RELEASE</version>
</dependency>

发菜:
model.addAttribute("test", "testing...");

html模板:
<script th:inline="javascript">
/*<![CDATA[*/
  [[${test}]]
  [(${test})]
/*]]>*/
</script>

生成的输出:
<script>
/*<![CDATA[*/
  'testing...'
  [(${test})]
/*]]>*/
</script>

因此,转义的表达式[[ ]]有效,但未转义的表达式[( )]不起作用。我需要有条件地生成js,并且没有“简单”的解决方法,因此这将非常有帮助。有人能使它正常工作吗?任何帮助,不胜感激!

最佳答案

我终于让它与Spring Boot一起使用,并具有以下四个依赖关系,所有四个依赖关系都是必需的(我使用的是当前可用的最新版本):

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.0.3.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring4</artifactId>
    <version>3.0.3.RELEASE</version>
</dependency>
<dependency>
    <groupId>nz.net.ultraq.thymeleaf</groupId>
    <artifactId>thymeleaf-layout-dialect</artifactId>
    <version>2.1.2</version>
</dependency>

希望这可以帮助。

关于javascript - Thymeleaf未转义的JavaScript内联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41817612/

10-11 17:09