我必须将扩展 GWT Composite 的小部件附加到使用如下标记的自定义小部件:
<div class="left">
<div class="right">
<div class="content">{content}</div>
</div>
</div>
我需要将小部件插入到带有内容类的嵌套 div 中。
下面我发布了我的自定义小部件的构造函数:
public class VideoPanel extends Component {
public VideoPanel(final Widget content,
final VideoPanelAppearance appearance, final int width,
final int height) {
this.content = content;
this.appearance = appearance;
final SafeHtmlBuilder sb = new SafeHtmlBuilder();
appearance.render(sb,
SafeHtmlUtils.fromTrustedString(content.toString()));
final XElement element = XDOM.create(sb.toSafeHtml());
final XElement contentElement = appearance.getContentElement(element);
contentElement
.setSize(getContentWidth(width), getContentHeight(height));
setElement(element);
setPixelSize(width, height);
}
}
我不确定字符串:
SafeHtmlUtils.fromTrustedString(content.toString())
内容是视频播放器小部件。上面的代码导致 EMBED-tag 没有出现在 HTML 页面中。