2017-07-27 47 views
-1

我只想將一個按鈕值從.jsp文件發送到一個servlet,該servlet然後從特定於該按鈕的數據庫檢索值將值發送回頁面。例如...AJAX - 使用參數運行servlet並檢索值

例如:如果用戶單擊值爲1的按鈕,他們應該從數據庫中檢索用戶1的數據。

我想我的問題是......我將如何去發送一個參數給一個servlet,讓servlet響應所點擊的按鈕上的數據,而不刷新頁面。

回答

1

您可以簡單地發送數據和ajax請求,並從Servlet中的請求對象中檢索它。

第一步 - 按鍵值發送到JavaScript函數:

<button type="button" value="value1" onclick="loadDoc(this.value)">Get Content</button> 

第二步 - 創建javacript函數來獲取此值和Ajax請求發送:

function loadDoc(data) { 
var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
if (this.readyState == 4 && this.status == 200) { 
    document.getElementById("demo").innerHTML = 
    this.responseText; 
} 
}; 
xhttp.open("GET", "http://www.example.com?data1="+data, true); 
xhttp.send(); 
} 

第三步 - 使用你的HttpServletRequest來檢索servlet中的這些數據:

String reqData = request.getParameter("data1"); 
0

這可以很容易地使用基本的jQuery完成。 在jsp/html部分中,您只需定義一個需要傳遞給servlet的reuqired值的按鈕。例如:

<button id="toClick" value="1"></button> 

然後在jquery部分,你應該給這個特定的按鈕被點擊時的ajax調用。類似這樣的,

$("#toClick").click(function() { 
$.ajax({ 
    url:"/servlet_goes_here", 
    data: {id:$("#toClick").val()} 
}) 
.done(function(response) { 
    alert("do whatever you want to do with the response") 
}); 
}); 

響應將是來自servlet端的json響應。如果沒有要求/沒有json響應,你可以避開done塊,或者用它來測試ajax調用。