Я новичок в GWT; Я создаю небольшой пример приложения. У меня есть несколько файлов CSS. Я могу успешно использовать ClientBundle и CssResource для назначения стилей элементам, определенным в моем сценарии UiBinder.
Теперь я хотел бы сделать еще один шаг и представить CSS-константы, используя @def css-rule. @Def прекрасно работает, когда я определяю константу и использую ее в том же файле CSS. Однако я не могу использовать его в другом файле CSS. Когда я пытаюсь использовать правило @eval для оценки существующей константы, компилятор вызывает исключение: «не может сделать статическую ссылку на нестатический метод».
Вот пример того, что я пытаюсь сделать:
ConstantStyle.css
@def BACKGROUND red;
ConstantStyle.java
package abc;
import ...;
interface ConstantStyle extends cssResource {
String BACKGROUND();
}
MyStyle.css
@eval BACKGROUND abc.ConstantStyle.BACKGROUND();
.myClass {background-color: BACKGROUND;}
MyStyle.java
package abc;
import ...;
interface ConstantStyle extends cssResource {
String myClass;
}
MyResources.java
package abc;
import ...;
interface MyResources extends ClientBundle {
@Source("ConstantStyle.css")
ConstantStyle constantStyle();
@Source("MyStyle.css")
MyStyle myStyle();
}
Заранее спасибо!