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。
答案 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