繁体   English   中英

如何在数据库中保存富文本?

[英]How to preserve rich text in database?

我正在创建一个屏幕,在第一个屏幕上将显示存储在本地数据库中的数据。在第二个屏幕上,用户可以编辑该数据,也可以粘贴富文本。我正在使用contenteditable div 第三个屏幕将显示用户编辑的数据并将其存储在数据库中。 我正在使用 Java 检索数据并将其存储在数据库中。 目前我面临 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>

output 的值,在 XSL 中就像这样

<xsl:value-of select="securitytips" />

只会给你文字

一些带有粗体部分的文本。

但是,如果您使用副本,您将获得整个元素,并保留标记,即:

<xsl:copy-of select="securitytips" />

会给你文字和标记

<p>some text with a <b>bold section</b> in it.</p>

这可能会变得很棘手,因为如果您的 html 格式不正确(例如标签未关闭),那么您将无法对其进行转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM