我想讓我的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);
}
});
});
}
感謝您的幫助!