【问题标题】:How to remove Html tags from Blob in Jsp如何从 Jsp 中的 Blob 中删除 Html 标签
【发布时间】:2015-03-07 17:17:59
【问题描述】:

我有 DocumentVariable(带有 blob 数据的 Struts Bean 变量),其中包含数据和 Html 标记。如何删除html标签并只显示文本。

<s:label name="documentDAO.documentAllContent" />

<p>/*<br /> &nbsp;* This is a JavaScript Scratchpad.<br /> &nbsp;*<br /> &nbsp;* Enter some JavaScript, then Right Click or choose from the Execute Menu:<br /> &nbsp;* 1. Run to evaluate the selected text (Ctrl+R),<br /> &nbsp;* 2. Inspect to bring up an Object Inspector on the result (Ctrl+I), or,<br /> &nbsp;* 3. Display to insert the result in a comment after the selection. (Ctrl+L)<br /> &nbsp;*/</p> <p>&nbsp;</p> 

【问题讨论】:

  • 你为什么使用&lt;s:label&gt;标签?使用&lt;s:property&gt; - 默认转义html。
  • 我正在使用来自 CKEditor 的数据,即使我正在使用 我正在获取带有标签的数据。

    sfhsdfhsdf

    sfdhsfdhsfdhsfdhsdfh

    hgdf

  • 你想逃避它们吗?如果没有,则将 escapeHtml 属性设置为 false。
  • 我想删除html标签并在jsp上显示纯文本
  • 没有格式化?那你为什么要用ckeditor呢?

标签: java html jsp struts2 blob


【解决方案1】:

这个问题不清楚,但可能值得对所有情况进行解释。

您使用 CKEditor 创建 HTML,然后将其保存到 BLOB 字段中(应该用于二进制数据,您需要的是 CLOB,但这是另一回事)。

然后你检索你的内容,此时你可能会得到三种不同的期望结果:

  1. HTML(例如,&lt;b&gt;foo&lt;/b&gt; 呈现为 foo):

    <s:property value="yourVar" escapeHtml="false" />
    
  2. 纯文本(例如,&lt;b&gt;foo&lt;/b&gt; 呈现为 &lt;b&gt;foo&lt;/b&gt;

    <s:property value="yourVar" />
    
  3. 没有 HTML 标记的纯文本(例如,&lt;b&gt;foo&lt;/b&gt; 呈现为 foo):为此,您需要在您的操作类中使用 HTML 解析器(例如,Jsoup 为 @ 987654322@)

    private byte[] yourVar; 
    
    public String getYourVar() {
        return Jsoup.parse(new String(yourVar, "UTF-8")).text();
    }
    
    <s:property value="yourVar" />
    

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 2010-10-20
    • 2015-02-27
    • 2014-07-08
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多