2013-03-20 51 views
2

如何用Java编程创建一个DIV到将呈现DIV,看起来像这样:Java创建DIV

<div class="fb-like-box" data-href="http://www.facebook.com/platform" data-width="595" data-show-faces="true" data-stream="true" data-header="true"></div> 

出于某种原因,我需要做的是在Java中,而不是Errai-的UI模板;因为它似乎在页面转换时被删除。

无论如何,我应该使用DivElement还是别的?这个想法是,我应该能够在Java代码中创建这一点,并把它插入到某种类型的SimplePanel ...

+0

你不能使用HTML类型吗? – 2013-03-20 20:45:29

回答

3

使用HTML控件:

HTML html = new HTML("<div class='fb-like-box' data-href='http://www.facebook.com/platform' data-width='595' data-show-faces='true' data-stream='true' data-header='true'></div>"); 

panel.add(html); 
4

你可以做到这一点与SafeHtml (防止脚本注入)GWT中的

String s = "<div>some html goes here</div>"; 
SafeHtml safeHtml = SafeHtmlUtils.fromString(s); 

And then Prepare HTML with that 


HTML dynamicHTml = new HTML(safeHtml); 

SafeHtml评估在浏览器将不会导致脚本执行字符串作为HTML。

+1

+1,以确保安全。但你的标签是错误的。 – wtsang02 2014-06-15 23:31:17

0

或者,FlowPanel默认会渲染一个div元素。你可以设置任意data属性就可以了:

FlowPanel div = new FlowPanel(); 
div.getElement().setAttribute("data-myattr", "somevalue");