混淆的类名(GPGOA3-B)确实被添加到单元格中,但是类本身没有添加到任何样式表中。
我做错了什么?
public final class HyperlinkCell extends AbstractCell<HyperlinkCellData> {
// TODO
private interface MyCss extends CssResource {
String red();
}
// TODO
private interface MyResources extends ClientBundle {
@Source("HyperlinkCell.css")
MyCss css();
}
// TODO
private static MyResources resources = GWT.create(MyResources.class);
HyperlinkCell() {
super("click");
}
@Override
public void onBrowserEvent(Element parent, HyperlinkCellData value,
Object key, NativeEvent event,
ValueUpdater<HyperlinkCellData> valueUpdater) {
// handle click event
History.newItem(value.targetHistoryToken, true);
}
@Override
public void render(HyperlinkCellData value, Object key, SafeHtmlBuilder sb) {
String childGroupObfuscatedClass = resources.css().red();
sb.append(SafeHtmlUtils.fromTrustedString("<a class=\""))
.append(SafeHtmlUtils
.fromTrustedString(childGroupObfuscatedClass))
.append(SafeHtmlUtils.fromTrustedString("\""))
.append(SafeHtmlUtils.fromTrustedString(" href=\"#"))
.append(SafeHtmlUtils.fromString(value.targetHistoryToken))
.append(SafeHtmlUtils.fromTrustedString("\">"))
.append(SafeHtmlUtils.fromString(value.text))
.append(SafeHtmlUtils.fromTrustedString("</a>"));
}
}
HyperlinkCell.css
.red {
color: red;
}
生成的DOM元素
<a href="#target" class="GPGOA3-B">text</a>
答案 0 :(得分:1)
MyResources.resources.css().ensureInjected();
呼叫 com.google.gwt.dom.client.StyleInjector.injectStylesheet(字符串) 注入的内容 CssResource进入DOM。重复 在一个实例上调用此方法 一个CssResources将没有任何效果。