我想将来自 Controller 的消息传递回我的 thymeleaf 模板,并在多行上设置该值。

在我的 Controller 中,我设置了这样的文本。

String message="item A \n item B \n Item C \n Item D"; //it could be 4 values, could 10 values.

modelAndView.addObject("successMessage", message);

在我的 thymeleaf 模板中,我像这样设置它。
<p th:utext="${successMessage}"></p>

我希望它显示为
item A
item B
item C
item D

在前端,不是全部都在同一行。我该怎么做?多谢。

最佳答案

1)我的建议是将其作为数组传递回去。

List<String> messages = Arrays.asList("item A", "item B", "Item C", "Item D");
modelAndView.addObject("successMessages", messages);

HTML:
<p th:each="message: ${messages}" th:text="${message}"></p>

2)如果您不想这样做,当然可以使用th:utext,但是您必须使用<br />而不是\n

3)另一个选择是继续在您的CSS中使用\n并使用white-space: pre
<p style="white-space: pre;" th:text="${successMessage}"></p>

关于html - Spring thymeleaf 文本下一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49849839/

10-12 14:10