在标签Wicket中显示HTML标签和内容

时间:2013-10-08 08:28:43

标签: java wicket

我正在使用Apache Wicket制作博客。对于Rich文本编辑器,我使用的是来自Github的stackoverflow markdown fork。它将HTML存储在数据库中。当我检索内容并将其显示在标签中时,我遇到了问题。

问题是用户可能同时包含内容和代码。因此,在从数据库中检索内容时,我在Label上使用label.setEscapeModelStrings(false);以保留格式。但是如果帖子在pre标签中包含HTML,那么它也会被解析和呈现。

我希望pre标记中的HTML可能无法呈现并按原样显示。

仅当用户帖子包含一些HTML代码时才会出现此问题。任何解决方案,服务器端或客户端?

由于

更新 可能我可以使用Jsoup解析内容并转义pre内的内容。 例如: -
content.replaceAll(">",">");

1 个答案:

答案 0 :(得分:0)

我部分关注@ Nicktar建议在存储到数据库之前转义字符串,
但是因为我不是很好@Javascript我选择使用Jsoup来解析字符串并转义pre标签中的内容。这是代码: -

Document doc = Jsoup.parse(labelText); //labelText comes from input
    Elements titleElements = doc.getElementsByTag("pre");
    for (Element pre : titleElements) {
        String content = pre.html().replaceAll("<", "&lt;");
        String content2 = content.replaceAll(">", "&gt;");
        pre.html(content2);
    }

//Save to db..

它有效。