如何从 Jsp 中的 Blob 中删除 Html 标签

How to remove Html tags from Blob in Jsp

我有 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> 

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

你用CKEditor创建了一个HTML,然后将它保存到一个BLOB字段中(应该用于二进制数据,这里你想要的是CLOB,但是那是另一个故事了)。

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

  1. HTML(例如 <b>foo</b> 呈现为 foo ):

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

    <s:property value="yourVar" />
    
  3. Plain/Text 没有 HTML 标签(例如 <b>foo</b> 呈现为 foo):对于您需要在操作中使用 HTML 解析器 class(例如 Jsoup as described in this answer

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