我想让我的servlet通过表单中的值来响应一些我想输出到警报中的文本。我遇到的问题是,警告框弹出后,页面重新加载并重定向到页面+我传递给servlet的参数。停止Servlet响应发送参数回页面并强制页面刷新
www.mysite.com/login.jsp - 重定向到
www.mysite.com/dashhome.jsp - 在这个页面上我有一个功能,帖子表单数据的servlet。
该servlet只需要返回处理的字符串,而不是重定向/导致页面重新加载。
当我按下保存(后),我得到我的警报与文本字符串,然后当前页面重新加载参数。
www.mysite.com/dashhome.jsp?pass-1=ertertert & passConf-1 = ertertert & UID-1 = 1
的Servlet: - I可以看到与System.err的值。 println和一切都进入servlet没有问题。通过整个表单而不是params会更酷,但我不知道如何去做。 Servlet也将文本返回给javascript函数。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
dbVO dbvo = new dbVO();
dbvo = dbBean.getSQLDBInfo();
response.setContentType("text/html");
String text = "";
HttpSession session = request.getSession();
if((Integer.parseInt(session.getAttribute("accessType").toString())==1) && (System.currentTimeMillis()<(session.getLastAccessedTime() + session.getMaxInactiveInterval() * 1000))){
String pass=request.getParameter("pass");
String confirmPass=request.getParameter("passConf");
String uid=request.getParameter("uid");
String adminID= session.getAttribute("ID").toString();
System.err.println(pass);
System.err.println(confirmPass);
System.err.println(uid);
System.err.println(adminID);
text = "success";
}else{
text = "Session Expired";
}
response.getWriter().write(text);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
doGet(request, response);
}
的Javascript:
function sendUpdate(id) {
$(document).ready(function(){
$.post("testurl",
{
pass: $('#pass-'+id).val(),
passConf: $('#passConf-'+id).val(),
uid: $('#uid-'+id).val()
},
function(data,status){
switch(status) {
case 'Session Expired':
sessionExpired();
break;
default:
alert(status);
}
});
});
}
感谢您的帮助!