【问题标题】:How to save html content in mongodb via SpringBoot form如何通过SpringBoot表单将html内容保存在mongodb中
【发布时间】:2016-08-16 13:11:38
【问题描述】:
我正在开发一个基于 SpringBoot 的 MVC 应用程序,它使用 mongoDB 来存储数据。我使用百里香作为模板引擎。在其中一种情况下,用户需要填写一个表单,然后将其显示在某个视图上。
我面临的问题是用户可以使用 html 标签来格式化数据,同时在表单的 textArea 中写入(代码 sn-ps、表格格式等)。但是当我显示该文本时,html 没有被解析并按原样显示。
例如: String 应显示为 String,但仅显示为 String。当我检查页面的源代码时,html标签显示为编码,即
有人可以帮忙
【问题讨论】:
标签:
html
mongodb
spring-mvc
spring-boot
thymeleaf
【解决方案1】:
您可以使用th:utext 输出未转义的文本。来自official turorial
如果我们希望 Thymeleaf 尊重我们的 XHTML 标签而不是转义它们,我们将不得不使用不同的属性:th:utext(用于“未转义的文本”):
<p th:utext="#{home.welcome}">Welcome to our grocery store!</p>
本教程假设 home.welcome 是一个带有 html-tags 的字符串:
home.welcome=Welcome to our <b>fantastic</b> grocery store!。
不用说,这需要非常仔细的验证,以便只有安全的(无论 safe 用于特定用例)HTML 被存储到数据库中(并且没有像 @ 这样的可能恶意代码987654328@标签)。