目前我使用JavaScript code发送XML数据GWT。有没有更简单的方法把他们送到?
sendRequest.addClickHandler(新clickHandler事件(){
@覆盖
公共无效的onClick(ClickEvent事件){
// RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
// ItemExtension客户端= ProxyFactory.create(ItemExtension.class,HTTP://本地主机:8081);
sendXMLFFI(restInput.getText());
保护原生无效sendXMLFFI(字符串文本)
/ * - {
VAR XMLHTTP =假;
如果(XMLHTTP和放大器;!&安培;!typeof运算XMLHtt prequest =未定义){
尝试 {
XMLHTTP =新XMLHtt prequest();
}赶上(五){
XMLHTTP =假;
}
}
如果(XMLHTTP和放大器;!&安培; window.createRequest){
尝试 {
XMLHTTP = window.createRequest();
}赶上(五){
XMLHTTP =假;
}
}
xmlhttp.open(POST,./REST/Items",true);
xmlhttp.setRequestHeader(内容类型,应用程序/ XML)
xmlhttp.send(< XML版本=1.0编码=UTF-8>吗?\ n \ N+
<项目吧code ='111'><名称>富< /名称><数量> 100℃/数量>< /项目>中);
} - * /;
解决方案
RequestBuilder RB =新RequestBuilder(RequestBuilder.POST,./REST/Items);
rb.setHeader(内容类型,应用程序/ XML);
rb.sendRequest(< XML版本=1.0编码=UTF-8>吗?\ n \ N+
<项目吧code ='111'><名称>富< /名称><数量> 100℃/数量>< /项目>中,
新RequestCallback(){...}
);
Currently I use the JavaScript code to send XML data in GWT. Is there an easier way to send them?
sendRequest.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
// ItemExtension client = ProxyFactory.create(ItemExtension.class, "http://localhost:8081");
sendXMLFFI(restInput.getText());
protected native void sendXMLFFI(String text)
/*-{
var xmlhttp=false;
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp=false;
}
}
if (!xmlhttp && window.createRequest) {
try {
xmlhttp = window.createRequest();
} catch (e) {
xmlhttp=false;
}
}
xmlhttp.open("POST", "./REST/Items",true);
xmlhttp.setRequestHeader("Content-Type", "application/xml")
xmlhttp.send("<?xml version='1.0' encoding='UTF-8'?>\n\n"+
"<item barcode='111'><name>Foo</name><quantity>100</quantity></item>");
}-*/;
解决方案
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, "./REST/Items");
rb.setHeader("Content-Type", "application/xml");
rb.sendRequest("<?xml version='1.0' encoding='UTF-8'?>\n\n"+
"<item barcode='111'><name>Foo</name><quantity>100</quantity></item>",
new RequestCallback() { ... }
);