如何在提交时弹出警报框而无需重新加载或重定向到新页面?

时间:2019-03-07 17:27:24

标签: java eclipse servlets alert box

我正在Eclipse IDE中处理表单。提交带有重复条目的表单时,我想在同一对话框上弹出一个警告框。但是我不知道该怎么做。这是我当前的servlet代码。

package fcregister;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
* Servlet implementation class FcregisterServlet
*/
@WebServlet("/FcregisterServlet")
public class FcregisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public FcregisterServlet() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    if(request.getParameter("fcregister")!=null)
    {

    String firstname = request.getParameter("firstname");
    String lastname = request.getParameter("lastname");
    String mobile = request.getParameter("mobile");
    String email = request.getParameter("email");
    String password = request.getParameter("password");

      FcregisterService service = new FcregisterServiceImpl();



    try
    {
        boolean b= service.chekbymobile(mobile);

        if(b==true)
        {
            out.println("<script src='https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/6.11.4/sweetalert2.all.js'></script>");
            out.println("<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>");
            out.println("<script>");
            out.println("$(document).ready(function() {");
            out.println("swal('Mobile number is already registered!','','error')");
            out.println("});");
            out.println("</script>");

            RequestDispatcher rd = request.getRequestDispatcher("Fc.jsp");
            rd.include(request, response);
        }
        else
        {
            Fcregister fr = new Fcregister(firstname, lastname, mobile, email, password);
            service.save(fr);

            response.sendRedirect("Fc.jsp");
        }
    } 
    catch (ClassNotFoundException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
    catch (SQLException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    }
    else
    {
        response.sendRedirect("Fc.jsp");
    }


}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doGet(request, response);
}

}

当前,它显示一个警告框,但是根据代码将页面重定向到新页面。可以进行哪些更改以实现我想要的?

0 个答案:

没有答案