Как сохранить форматированный текст в базе данных? - PullRequest
0 голосов
/ 03 августа 2020

Я создаю экран, в котором на первом экране будут отображаться данные, хранящиеся в локальной базе данных. На втором экране пользователь может редактировать эти данные, а также может вставлять форматированный текст. Я использую contenteditable div. И для 3-го экрана будут отображаться данные, отредактированные пользователем, которые будут сохранены в db. Я использую Java для извлечения и хранения данных в db. В настоящее время я столкнулся с двумя проблемами: 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>

1 Ответ

0 голосов
/ 05 августа 2020

Вы можете достичь этого, если сохраните свой «RTF» как содержимое в формате x html. x html - это html, который также хорошо сформирован x html.

Если ваш контент был

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

выходное значение, как это в XSL

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

даст вам только текст :

некоторый текст с полужирным шрифтом в нем.

Но если вы используете копию, вы получите весь элемент с сохраненной разметкой, ie:

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

даст вам текст и разметку

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

Это может быть сложно, потому что, если ваш html неправильно сформирован (например, тег не закрыт), вы не сможете его преобразовать.

...