вот где вам нужен ajax.
измените кнопку отправки на кнопку html и функцию onclick, выполните вызов ajax для своего сервлета и сделайте там все, а также передайте вывод в jsp через поток печати.
<input type="button" onClick="loadInbox();" value="inbox"/>
и ваша функция loadInbox() выполнит ajax:
function loadInbox(){
$.ajax({
type: "POST",
data: { "userId": userId },
url: 'YourServletName',
dataType: 'json',
"success": function (data) {
if (data != null) {
var vdata = JSON.parse(data);
console.log("output from server" + vdata);
},
"error": function (data) {
console.log("error "+ data);
}
});
}
и в вашем классе сервлета (YourServletName) вы делаете свою логику и передаете вывод в поток печати:
void doPost(...... request, ... response){
PrintWriter out = response.getWriter();
// get the userId from request:
String userId = request.getParameter("userId");
// do your logic stuff :
// get the output and print it to output stream:
String yourOutput = "{ 'output': 'This is an example output'}";
out.print(yourOutput);
out.flush();
out.close();
}
Это все, что вам нужно сделать. и out.println(yourOutput); передаст ответ вашей логики/результата методу «успех» вызова ajax, если он в порядке. проверьте свою веб-консоль в режиме разработчика, чтобы убедиться, что набор ответов от сервлета - это то, что вы получаете в виде строки/объекта json.
не забудьте добавить библиотеку jquery в свои библиотеки javascript!
Надеюсь, это поможет вам... Счастливый Аякс!
person
Nomesh DeSilva
schedule
15.04.2015