2009-08-20 70 views
0

在Javascript中我可以把XML字符串JSP服務器(XmlAction.jsp):從JS發送XML數據到服務器並獲取XML參數

JavaScript代碼:

var xmlDocument = "<?xml version="1.0" encoding='ISO-8859-1'?> 
         <Customer> 
          ....... 
         </Customer> 
        " 
var httpRequest; 

httpRequest = new XMLHttpRequest();  
httpRequest.open('POST', "http://example.com/XmlAction.jsp", false); 
httpRequest.send(xmlDocument); 

我的問題:我怎樣才能在JSP頁面中獲取XML數據XmlAction.jsp?

你可以給我一些java代碼。 感謝所有^^

+0

我認爲您的意思是Javascript代碼不是Java。由於市場營銷的原因,JavaScript包含「Java」這個詞。這兩種語言完全不同。 – 2009-08-20 06:55:14

回答

0

呼叫request.getInputStream()得到提交XML體流,並把它傳遞到任何XML解析器您打算使用(如,對於DOM的DocumentBuilder.parse(stream)的實現,你可以從javax.xml得到.parsers.DocumentBuilderFactory)。

對於Servlet/JSP,擁有非web形式(application/x-www-form-urlencoded,multipart/form-data)的POST主體稍有不同,但應該可以正常工作。只要確保沒有任何方法可以調用getParameter()方法,這些方法會期望Web表單輸入,如果您已經閱讀了輸入流,就會感到困惑。

[拋開:你真的是指ISO-8859-1?如果您使用XMLHttpRequest.send()在正文中發送Unicode字符,則它們將被編碼爲UTF-8,這與您的XML聲明不符。]