サーブレットを取得してフォームから値を渡し、アラートに出力するテキストで応答します。私が抱えている問題は、アラートボックスがポップアップした後にページがリロードされ、ページ+サーブレットに渡されたパラメータにリダイレクトされることです。サーブレットの応答をページに戻してページを強制的にリロードすることを停止します
www.mysite.com/login.jspは -
www.mysite.com/dashhome.jspにリダイレクト - このページでは私はポストは、サーブレットにデータを形成する機能を持っています。
サーブレットは、リダイレクトしないで処理した文字列を返すだけで、ページをリロードする必要があります。
私がsave(post)を押すと、テキスト文字列で警告が表示され、現在のページがパラメータでリロードされます。
www.mysite.com/dashhome.jsp?pass-1=ertertert & passConf-1 = ertertert & UID-1 = 1
サーブレット: - 私はSystem.errの持つ値を見ることができます。 printlnとすべての問題なしでサーブレットに来ている。 paramsの代わりにフォーム全体を渡す方がよりクールですが、私はそれを行う方法は分かりません。サーブレットはテキストを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);
}
});
});
}
ありがとう!