当前位置: 首页 > 知识库问答 >
问题:

Thymeleaf-th:每个都转换为JSON-LD

桓高澹
2023-03-14

我希望通过一个Thymeleaf变量数组来生成JSON-LD(使用Schema.org),类似于Google的商店部门示例。

我知道您可以在HTML中遍历Thymeleaf中的数组,如下所示:

<tr th:each="prod : ${prods}">
  <td th:text="${prod.name}">Onions</td>
  <td th:text="${prod.price}">2.41</td>
  <td th:text="${prod.inStock}? #{true} : #{false}">yes</td>
</tr>

有没有办法将其转换为JSON-LD格式?

共有1个答案

花博厚
2023-03-14

恐怕在客户端是不可能实现的。您需要在服务器上准备JSON并将其作为字符串发送到客户端。

因此,为JSON准备实体,如下所示:

@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
public class FaqAnswerLdJson extends AbstractLdJson implements Serializable {

    @JsonProperty("name")
    private String name;

    @JsonProperty("price")
    private String price;

    ...
}

然后将其序列化到服务器上的JSON并放入模型中。

在客户端上,可以按如下方式渲染:

<script type="application/ld+json" th:utext="${json}">
</script>
 类似资料:
  • 我有收藏 我反复阅读并这样写: 我的另一个尝试是: 不幸的是,输出是相同的。 span中的输出为: 我希望输出是: 末尾没有逗号。我怎么能做到呢? 解决方案: 注意与元素类型关联的属性的值不能包含 代码:

  • 问题内容: 我认为以下内容将是一项非常常见的任务,并认为将有一个简单的解决方案,但我找不到。 如果我有以下结构的数据表。 我想将其序列化为JSON对象,其中ID列是JSON对象中的一个节点,例如: 我调查了JSON.NET,但无法正常工作。编辑:我正在使用C# 问题答案: 使用JSON.NET,这非常简单。只需将您的数据表转换成等效的字典词典: 然后致电: 这是完整的测试: 结果:

  • 我正在使用SpringMVC和Thymeleaf。我的模板在表单标记处如下所示: 它的作品,但没有。我非常喜欢这个(非常简单),但是我没有找到任何关于这个的解释。 没有th:action和th:object它是如何工作的?

  • 我不知道如何解决以下问题:我想让我的模型根据一些模型逻辑动态生成真正的javascript。 最后一段javascript代码应该添加到$(文档)中。就绪{}我的html页面的一部分。 事情是这样的:如果我使用inline="javascript",代码会被引用为我的getter是一个字符串(这就是它在Thymeleaf文档中提到的方式,但它不是我需要的;-) 如果我使用inline=“text”