2010-03-05 31 views
0
final Button sendButton = new Button("Send"); 
sendButton.getElement().setId("button"); 
RootPanel.get().getElement().appendChild(sendButton.getElement()); 

NodeList buttonElement = Document.get().getElementsByTagName("button"); 
if(buttonElement != null && buttonElement.getLength() > 0){ 
buttonElement.getItem(0).setNodeValue("Changed"); 
}else{ 
GWT.log("Can't select button"); 
} 

当我使用getElementById(),它是可以的,但getElementsbyTagName()方法不起作用。 这意味着我无法使RPC服务返回HTML字符串响应,并在客户端附加事件。我在这里有点困惑,如何在GWT中编程?我的意思是RPC服务应该返回给客户端,BO?如果返回BO,我需要序列化BO,并创建元素来构建dom树。这是一个麻烦,所以任何想法在GWT中使用模板?为什么element.getElementsByTagName()不能选择动态添加的节点?

回答

0

我不确定你为什么要使用元素做所有事情,或者为什么你需要找到该按钮,如果你仍然有一个引用它。您的代码可以改写为:

final Button sendButton = new Button("Send"); 
RootPanel.get().add(sendButton); 

// presumably some RPC is done here...? 
onSuccess() { 
    sendButton.setText("Changed"); 
} 

如果您提供有关您要完成的更多详细信息可能会有所帮助。另外,什么是BO?