2010-03-05 4 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를 serialize하고 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가 무엇입니까?

관련 문제