0
    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>
测试2

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

我正在使用 Eclipse Juno。

4

1 回答 1

2

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

这意味着你会得到类似 iTesti&.#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

于 2013-05-02T06:53:27.223 回答