gpt4 book ai didi

java - springboot Thymeleaf 添加不同的列表字段

转载 作者:行者123 更新时间:2023-12-02 01:06:51 25 4
gpt4 key购买 nike

我正在使用 Thymeleaf 生成 html 文件以实现某些内容共享目的。

下面是html模板

    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Testing</title>
</head>
<body>
<table>
<tbody>
<tr>
<td>Message: </td>
<td><p th:text="|${Id}|"> Id</p></td>
<td>< th:text="|${userDetails}|"> </td>


</tr>
</tbody>
</table>
</body>
</html>

下面是我尝试生成不同的 html 表格或段落的代码

   private static final String starttag= "<p><b>$$</b></p>";
private static final String pretag= "<pre<$$</pre>";

public String build(Message model) {
Context context = new Context();
context.setVariable("Id", model.getId());

List<user> users = model.getUsers();

StringBuilder userDetails = new StringBuilder("");
for(user: users) {
String getDepartment = starttag.replace("$$",user.getDepartment());
userInfo = userInfo + pretag.replace("$$", "Name:"+ user.getName());

userDetails.append(userInfo);
}
context.setVariable("userDetails", userDetails);
return templateEngine.process("userTemplate", context);
}


}

但我得到的结果如下

<td><p>123 Id</p></td>
<td> &lt;p&gt;&lt;b&gt;Computer Science &lt;/b&gt;&lt;/p&gt; Name:testuser1&lt;pre&lt;&lt;/pre&gt;</span> </td>

如何在html中添加不同的用户列表

我想要像下面这样的

测试用户1

计算机科学

测试用户2

电气

最佳答案

您可以直接将user对象传递给模板:

public String build(Message model) {
model.setAttribute("Id", model.getId());

List<user> users = model.getUsers();
model.setAttribute("users", users);

return "userTemplate";
}

然后使用 for 循环访问模板中的字段:

<tr th:each="user: ${users}">
<td th:text="${user.department}" />
<td th:text="${user.name}" />
</tr>

这是一个简单的行,您可以使用自己的 html 将其添加到模板中进行自定义。这里的要点是,您不必管理 Controller 类中的 html 代码,您只需准备模型。在 html 代码中定义模板。
您可以通过 this article on Baeldung 获取更多信息,以 this question on SO 为例还有this question (不是你的问题,但可以帮助你解决它:))。
如果还不够清楚,请评论答案,我会尝试添加一些细节。

关于java - springboot Thymeleaf 添加不同的列表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59912041/

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