【问题标题】:How to stop html textarea from interpreting html entities into their characters如何阻止 html textarea 将 html 实体解释为其字符
【发布时间】:2010-09-03 14:58:05
【问题描述】:

我有一个 html textarea 用于显示来自数据库的字符串。可以编辑文本区域,任何更改都会保存到数据库中。

问题是当它收到实体 ®在字符串中,它将它们转换为字符,然后在保存文本时字符覆盖实体。例如:数据库将返回字符串 Microsoft®它将显示为 Microsoft®,然后以这种方式保存。有没有办法强制 textareas 不解释实体?

跟进:我现在的想法是,在从数据库中获取字符串时,将所有 '&' 替换为 '&'。但我仍然想知道是否有办法阻止 textareas 转换他们收到的字符串。

【问题讨论】:

  • 您知道您的数据库使用的是哪种 unicode 吗?

标签: html jsp xhtml textarea


【解决方案1】:

所以你想转义 HTML 实体?您可以使用 JSTL <c:out>fn:escapeXml()

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<textarea><c:out value="${bean.text}" /></textarea>

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<textarea>${fn:escapeXml(bean.text)}</textarea>

默认情况下,它会在每个&amp;amp; 下转义到&amp;amp;,例如&amp;amp;reg; 最终变成&amp;amp;reg;,这样它就会显示&amp;amp;reg;

【讨论】:

    猜你喜欢
    • 2012-01-21
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2021-04-26
    相关资源
    最近更新 更多