gpt4 book ai didi

java - Spring Boot中自动将HashSet转换为串联字符串

转载 作者:行者123 更新时间:2023-12-02 08:42:43 26 4
gpt4 key购买 nike

我对 Spring Boot 相当陌生,目前正在为 CMS 开发一个表单来创建文章。文章的关键词与SO的标签系统类似。目前,它是一个简单的以逗号分隔的关键字列表。但是,当我尝试依靠 thymeleaf 将命令对象转换为我想要的格式时,我遇到了问题。以下是相关对象:

@Setter
@NoArgsConstructor
public class ArticleCommand {
private Long id;
private String title;
private String slug;
private String summary;
private String body;
private Set<ArticleKeywordCommand> keywords = new HashSet<>();
}
@Getter
@Setter
@NoArgsConstructor
public class ArticleKeywordCommand {
private ArticleKeywordsKey id;
private Long articleId;
private KeywordCommand keyword;

@Override
public String toString() {
return keyword.getName();
}
}

正如您所看到的,我向 ArticleKeywordCommand 添加了一个 toString() 方法,以使将关键字值输出到输入字段的表单包含以逗号分隔的列表形式的值。这......有点有效,但不是我正在寻找的。

ArticleCommand.keywords 的输出是一个字符串数组“[technology, Finance]”。我需要的只是一个字符串“技术、金融”。

处理关键字集输出转换的好方法是什么? Thymeleaf 中是否有某种东西可以在收到一组值时将值连接到字符串中?或者也许我可以向命令提供一个注释,告诉它如何处理它?<​​/p>

最佳答案

您可以在 thymeleaf 中使用#strings.listJoin:https://www.thymeleaf.org/apidocs/thymeleaf/3.0.0.RELEASE/index.html?org/thymeleaf/expression/Strings.html (它似乎不允许我在该页面上锚定链接,因此只需搜索 listJoin)

例如,如果您的模型名称是文章,则 thymeleaf 可能如下所示:

<p th:text="${#strings.listJoin(articles.getKeywords(), ', ')}"></p>

关于java - Spring Boot中自动将HashSet转换为串联字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61273718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com