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

时间:2015-01-09 11:33:42

标签: java html jsp struts2 blob

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

1 个答案:

答案 0 :(得分:2)

问题尚不清楚,但可能值得对所有案例作出解释。

您使用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. 普通/没有HTML标签的文字(例如<b>foo</b>呈现为foo):为此,您需要在动作类中使用HTML解析器(例如。Jsoupdescribed in this answer

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