我刚刚开始使用GWTQuery,并试图把头放在load()函数上。考虑:
public void onModuleLoad() {
SimplePanel sp = new SimplePanel();
sp.getElement().setId("stuff");
RootLayoutPanel root = RootLayoutPanel.get();
root.add(sp);
$("#stuff").load("/hello.html");
}如果运行上述操作,SimplePanel元素的空SimplePanel块将被替换为hello.html的内容。换句话说,它在body块中结束,div从DOM中消失。我希望div块包含hello.html。为此,我将另一个临时SimplePanel作为div id="stuff"的子代,并在此上调用load()。它可以按需要工作。但我觉得我错过了一些最基本的东西。是否有一种不需要丢弃SimplePanel的方法来做到这一点?
发布于 2013-10-13 15:47:12
您的编码工作正常,GQuery load()用从服务器获得的内容替换元素的内容。
您可以在load()中看到Ajax.java的实现,首先清除返回的字符串,删除<html> <head> <body>和<script>标记,然后将内容包装到<div>中,最后清空目标面板的内容(在您的示例中为$(#stuff)),并追加新创建的<div>。
我已经用上一次快照和稳定的版本测试了您的代码,您使用的是什么版本?
https://stackoverflow.com/questions/18751561
复制相似问题