2012-06-22 61 views
0

我正嘗試使用XMLHttpRequest將XML發送給jsp。任何人都可以告訴我如何在jsp中讀取請求XML?以下是我用來進行POST調用的代碼。在jsp中讀取POST請求XML

在此先感謝!

var xmlHttpRequest=new XMLHttpRequest(); 
xmlHttpRequest.open("POST",url,true); 
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml"); 
xmlHttpRequest.send("<xml><user_id>F1528</user_id></xml>"); 

回答

0

我沒有試過,但似乎JSTL應該提供一個簡單的解決方案:

<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> 
<x:parse doc="${pageContext.request.reader}" var="parsedXml"/> 

應導致頁面範圍的無功即要求parsedXml

+0

kschneid - 有沒有辦法在scriptlet中做到這一點? – arvind

+0

當然,你可以在scriptlet中做到這一點,這只是更多的工作。調用'request.getReader'將爲您提供一個'BufferedReader',然後您可以使用它來執行標準的XML解析。 – kschneid

+0

kschneid - 謝謝。我能解析請求XML。 – arvind

1

JSP's應該被用來生成頁面和Servlets應該用來處理業務邏輯。

我建議你閱讀Servlet中的請求體。將讀取主體設置爲request屬性,並將請求轉發給呈現請求主體的JSP。

+0

ramesh - 你是對的。就目前而言,我想知道它是如何在jsp中完成的。如果我做了一個http GET,我使用request.getParameters讀取了jsp中的參數。我如何解析使用http POST發送的XML? – arvind

+0

在這種情況下,您可以使用JSTL提供的標籤。<%@ taglib prefix =「x」uri =「http://java.sun.com/jsp/jstl/xml」%>

+0

我必須將POST數據寫入文件。這就是爲什麼暫時我試圖在jsp中做到這一點。這可以在scriptlet中完成嗎? – arvind