如何在div中包装整个GWT?

时间:2014-03-09 16:41:41

标签: javascript html css gwt

尝试设计

-----------
header(xyz.html)
-----------
content(GWT module)
-----------
footer(xyz.html)
-----------

我做的是

<div id=header>....</div>
<div id="container">
     <script type="text/javascript" language="javascript" src="spw/spw.nocache.js"></script>
</div>
<div id="footer"></div>

但是,它始终显示为屏幕

----
header
----
footer
-----
gwt content (I saw in firebug that this is in a iframe)
-------

如何在内容区域准确获取GWT内容?我需要申请任何CSS?或者我在这里遗漏了什么?

1 个答案:

答案 0 :(得分:3)

通过在入口点类的container方法中调用以下方法,在onModuleLoad() div中添加根小部件

RootPanel.get("container").add(root_widget);

nocache.js只是将GWT编译的js加载到浏览器中。组件的放置不是由html / jsp文件中nocache.js的位置驱动的。

将nocache.js放在头部区域很好。

示例代码:

<html>
<head>
<title>Title</title>
<script type="text/javascript" language="javascript"
    src="spw/spw.nocache.js"></script>
</head>
<body>
    <div id=header>....</div>
    <div id="container"></div>
    <div id="footer">...</div>
</body>
</html>

修改

  

实际上我在没有触及RootPanel的情况下寻找解决方案。但还有其他方法

尝试任何一个选项:

Document

import com.google.gwt.dom.client.Document;

Document.get().getElementById("container").appendChild(rootWidget.getElement()); 

JSNI

getElementById("container").appendChild(rootWidget.getElement());

public static final native Element getElementById(String id) /*-{
    return $wnd.document.getElementById(id);
}-*/;