2013-03-20 103 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");