Spring Boot - Thymeleaf 和 Json 模板

Posted

技术标签:

【中文标题】Spring Boot - Thymeleaf 和 Json 模板【英文标题】:Spring Boot - Thymeleaf and Json Templates 【发布时间】:2019-10-31 03:04:36 【问题描述】:

我正在使用 Spring Boot 2.1.5.RELEASE 和 wnat 使用 Thymeleaf 生成 json 模板文件。

这是我目前拥有的 1 个文件的示例

 
  "apiVersion": "apps/v1",
  "kind": "Deployment",
  "metadata": 
    "labels": 
      "run": "[( $imageNameLabel )]"
    ,
    "name": "[( $imageNameLabel )]"
  ,
  "spec": 
    "replicas": [( $replicas )],
    "selector": 
      "matchLabels": 
        "run": "[( $imageNameLabel )]"
      
    ,
    "template": 
      "metadata": 
        "labels": 
          "run": "[( $imageNameLabel )]"
        
      ,
      "spec": 
        "containers": [
          
            "image": "[( $imageName )]:[( $imageVersion )]",
            "name": "[( $imageNameLabel )]",
            "env": [( $credentials )],
            "volumeMounts": [
                            
                                "mountPath": "/etc/foo",
                                "name": "[( $imageNameLabel )]",
                                "readOnly": true
                            
                        ]
          
        ],
        "volumes": [
                    
                        "name": "[( $imageNameLabel )]",
                        "secret": 
                            "secretName": "[( $imageNameLabel )]"
                        
                    
                ]
      
    
  

我现在想把条件逻辑放到这个文件中。 thymeleaf 可以做到这一点,还是我应该研究另一种模板技术?

谢谢 达米安

【问题讨论】:

【参考方案1】:

请参阅textual template mode 的文档。一个示例 if 可能如下所示:

[# th:if="$condition" th:text="$item" /]

或者

[# th:if="$condition"][($imageNameLabel)][/]

【讨论】:

以上是关于Spring Boot - Thymeleaf 和 Json 模板的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot(十五):spring boot+jpa+thymeleaf增删改查示例

Spring Boot 中的 Thymeleaf 缓存和安全性

thymeleaf 和 spring-boot 丢失的复杂对象

Spring Boot整合Thymeleaf

Thymeleaf 模板 在spring boot 中的引用和应用

用于 Spring Boot + Thymeleaf 的 @WebAppConfiguration 和 @ContextConfiguration