【问题标题】:Javascript pop up message in JSPJSP中的Javascript弹出消息
【发布时间】:2023-03-29 07:46:01
【问题描述】:

在不创建新页面jsp文件的情况下,有没有办法在我成功将注册数据插入表后弹出“数据插入成功”消息。 弹出的意思是没有创建新的浏览器窗口,但消息出现在当前网页的新框中,当单击“确定”时,将我重定向到 TRY SECTION 中的下一个网页。

<%@page import="com.mysql.jdbc.Statement"%>
<%@page import="com.mysql.jdbc.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%Class.forName("com.mysql.jdbc.Driver");%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Registration Page</title>
</head>
<body>
    <%!
     String firstname, lastname, address, phoneNo;
     String sex, password;
     %>
     <%
     firstname = lastname = address = phoneNo= "";
     sex = ""; password = "";
     firstname = request.getParameter("firstname");
     lastname = request.getParameter("lastname");
     address= request.getParameter("address").trim();
     phoneNo = request.getParameter("phoneNo");
     sex = request.getParameter("Sex");
     password = request.getParameter("password");
     if(firstname.equals("")|| lastname.equals("")|| phoneNo.equals("")||
             sex.equals("")|| password.equals(""))
     {
         out.write("Empty fields, make sure you input data into all field before pushing the  " +
                    "REGISTER button");
     }
     else
     {
         String sql1="INSERT INTO customer_details  VALUES('"+firstname+"', '"+lastname+"','"+address+"', '" +phoneNo+"',' "+sex+ "','"+password+"')"; 
         String sql2 = "INSERT INTO verification VALUES('"+firstname+"', '"+password+"')";
         try{
             Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/" + "onlineburgerapp","root", "root");
             Statement st = (Statement) conn.createStatement();
             st.executeUpdate(sql1);
             st.executeUpdate(sql2);

             conn.setAutoCommit(true);
             conn.close();
             response.sendRedirect("availableBurgers.jsp");
         }
         catch(Exception e){
             e.printStackTrace();}
         }
     %>
</body>

【问题讨论】:

  • 可以使用Javascript的confirm
  • 不鼓励在 scriptlet 中使用 Java 代码。

标签: javascript java mysql jsp servlets


【解决方案1】:

您可以将 JavaScript 代码插入到 JSP 代码中。 例如:

<%
try{

%>
<script type="text/javascript">
    alert("Inserted Successfully");
</script>
<%
    }catch(Exception e){

    }
%>

【讨论】:

    【解决方案2】:

    如果我正确理解您的问题:如果您的 SQL 请求成功,您希望向用户显示“成功”消息/弹出窗口。

    您如何请求您在此处显示的这个 JSP? 如果它是一个经典的浏览器请求(假设),因为最后它会重定向到availableBurgers.jsp,所以这个页面不会向您的浏览器发送任何内容。

    我只想在availableBurgers.jsp 中设置成功弹出窗口,因为这是您的成功页面。

    【讨论】:

      【解决方案3】:

      对选定的好答案的改进: 如果您想使用您拥有的一些变量自定义您的消息:

      <%
      try {
          String myVariable = "Successfully";
      %>
          <script type="text/javascript">
          var myMessage;
      <%
          out.println("myMessage = \"I have inserted "+myVariable+"\"");
      %>
          alert(myMessage);
          </script>
      <%
          } catch(Exception e) {
      }
      %>
      

      【讨论】:

        猜你喜欢
        • 2011-06-29
        • 1970-01-01
        • 2011-10-28
        • 2013-11-15
        • 1970-01-01
        • 1970-01-01
        • 2017-05-29
        • 2021-11-12
        • 2011-07-26
        相关资源
        最近更新 更多