【发布时间】:2018-01-02 22:13:31
【问题描述】:
我要做的就是将按钮值从 .jsp 文件发送到 servlet,然后从数据库中检索特定于按钮值的值,然后将值发送回页面。比如……
例如:如果用户单击值为 1 的按钮,他们应该从数据库中检索用户 1 的数据。
我想我的问题是......我将如何向 servlet 发送参数并让 servlet 在单击按钮时响应请求的数据,而不刷新页面。
【问题讨论】:
标签: javascript ajax xml jsp servlets
我要做的就是将按钮值从 .jsp 文件发送到 servlet,然后从数据库中检索特定于按钮值的值,然后将值发送回页面。比如……
例如:如果用户单击值为 1 的按钮,他们应该从数据库中检索用户 1 的数据。
我想我的问题是......我将如何向 servlet 发送参数并让 servlet 在单击按钮时响应请求的数据,而不刷新页面。
【问题讨论】:
标签: javascript ajax xml jsp servlets
这可以使用基本的 jQuery 轻松完成。 在 jsp/html 部分,您只需要定义一个按钮,其中包含您需要传达给 servlet 的所需值。例如:
<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调用。
【讨论】:
您可以简单地与 ajax 请求一起发送数据,然后从 Servlet 中的请求对象中检索它。
第 1 步 - 将按钮值发送到 javascript 函数:
<button type="button" value="value1" onclick="loadDoc(this.value)">Get Content</button>
Step2 - 创建 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();
}
第 3 步 - 使用您的 HttpServletRequest 在 servlet 中检索此数据:
String reqData = request.getParameter("data1");
【讨论】: