为什么SafeHtml只显示纯文本和&没有显示格式文本(GWT)?

时间:2013-05-02 03:15:15

标签: html gwt

    HTML myHtml=new HTML(SafeHtmlUtils.fromString("<i>Test</i>"));
    HTML myHtml2=new HTML("<i>Test2</i>");
    testHTMLPanel.add(myHtml);
    testHTMLPanel.add(myHtml2);

输出:

<i>Test</i>
的Test2

正确的输出应该是像第二个那样的形式文本。其他Gwt html小部件也有类似的问题。

我正在使用Eclipse Juno。

1 个答案:

答案 0 :(得分:2)

SafeHtmlUtils.fromString(String s) HTML-转义其参数并返回包装为SafeHtml的结果。

这意味着你会得到像&amp;#6.0; i&amp;#。62; Test&amp;#。60;&amp;#。47; i&amp;。#62;

检查

https://developers.google.com/web-toolkit/doc/latest/DevGuideSecuritySafeHtml

这是安全的事情: 您拥有SafeHtmlUtils.fromString(userString)的原因是您可以从用户输入中获取动态字符串,并从中创建html文本。它比使用Html.setText(userString)更安全,因为使用setText(userString)注入易受攻击的代码是可行的。

有关输入验证的更多信息:http://www.testingsecurity.com/input-validation