java - 如何在数据库中保存富文本?
问题描述
我正在创建一个屏幕,在第一个屏幕上将显示存储在本地数据库中的数据。在第二个屏幕上,用户可以编辑该数据,也可以粘贴富文本。我正在使用contenteditable div
. 第三个屏幕将显示用户编辑的数据并将其存储在数据库中。我正在使用 Java 检索数据并将其存储在 db 中。目前我面临 2 个问题,1.我可以在我XSL
的第二个屏幕上粘贴富文本,但它不会保留在第三个屏幕上,一切都变得像纯文本。2.我不知道如何在数据库中存储富文本并以相同的格式检索。我在这里附上我的 XSL 示例。如果您需要任何其他信息,请告诉我。提前致谢!
XSL 2nd Screen
<table border="0" cellspacing="1" cellpadding="1" class="graphtable">
<tr>
<xsl:choose>
<xsl:when test="//faml/response/stresponsedto/security_tips">
<xsl:for-each select="//faml/response/stresponsedto/security_tips/stdto">
<td>
<div class="carousel" contenteditable="true" id="post-text">
<xsl:value-of select="securitytips"/>
</div>
</td>
</xsl:for-each>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</tr>
</table>
XSL 3rd Screen
<table border="0" cellspacing="1" cellpadding="1" class="graphtable">
<tr>
<td class="headingalign" width="10%" >Security Tips</td>
</tr>
<tr>
<td style="padding-right: 10px">
<div class="carousel">
<xsl:value-of select="//faml/request/fldsandt"/>
</div>
</td>
</tr>
</table>
解决方案
如果您将“富文本”保存为 xhtml 格式的内容,您或许能够实现这一点。xhtml 是 html 也是格式良好的 xhtml。
如果您的内容是
<securitytips>
<p>some text with a <b>bold section</b> in it.</p>
</securitytips>
输出的价值,就像 XSL 中的这样
<xsl:value-of select="securitytips" />
只会给你文字:
一些带有粗体部分的文本。
但是,如果您使用副本,您将获得整个元素,并保留标记,即:
<xsl:copy-of select="securitytips" />
会给你文字和标记
<p>some text with a <b>bold section</b> in it.</p>
这可能会变得很棘手,因为如果您的 html 格式不正确(例如标签未关闭),那么您将无法对其进行转换。
推荐阅读
- javascript - 引导选项卡 - 如何引用单独的 url 模板
- javascript - React history.push 正在更新 url 但无法加载所需的组件
- elasticsearch - 在elasticsearch中导入json文件时,Elasticdump创建一个包含1000个字段的文档
- r - 在 R boxplot ggplot2 中对特定 X 变量进行着色
- regex - 正则表达式查找标签
- google-cloud-platform - Gmail API 是否会发送阅读邮件的时间?
- kubernetes - 用于托管在 kubernetes 内的后端的清漆
- python - 如何在反向 shell 中继续执行命令?
- awk - 如果条件匹配,则行中的所有标题名称
- spring-boot - 此应用程序没有 /error 的显式映射,因此您将其视为后备 404 Not found