bir Vaadin en
entegre JavaScript Bileşenleri'adresindeki göz ve Uzantıları burada
atın teşekkürler ya sonra RPC en şöyle yapmak için kullanabilirsiniz bileşen: JavaScript
@JavaScript({"mycomponent-connector.js"})
public class MyComponent extends AbstractJavaScriptComponent {
public MyComponent(){
// when you create the component
// add a function that can be called from the JavaScript
addFunction("returnResponse", new JavaScriptFunction() {
@Override
public void call(JsonArray arguments) {
String response = arguments.getString(0));
// do whatever
}
});
}
// set up a way to make the request
public void makeRequest(String url) {
callFunction("makeRequest", url);
}
}
mycomponent-connector.js
(kullanarak XMLHttpRequest
örnek) dosyası:
window.com_example_mypackage_MyComponent =
function() {
var connector = this;
// add a method to the connector
this.makeRequest = function(theUrl){
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
connector.returnResponse(xmlHttp.responseText);
}
};
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
}
};
makeRequest
ateş edeceği sunucu tarafında yöntemi MyComponent.makeRequest("myurl")
çağrılması istemcide yöntem. Yanıt geri döndüğünde, sunucuya geri göndermek için connector.returnResponse(xmlHttp.responseText)
numaralı telefonu arayarak MyComponent
yapıcıya eklenmiş "returnResponse"
işlevi tarafından ele alınacaktır.
Ben aptal olabilirim ama insanlar çok ayrıntılı açıkladığında seviyorum =) Teşekkür ederim, zaman ayırdığınız için teşekkür ederiz. –