代码之家  ›  专栏  ›  技术社区  ›  Mercer

问题弹出式显示(Java 1.4)

  •  0
  • Mercer  · 技术社区  · 14 年前

    我有一个包含一些字段的JSP。当我填写字段并单击发送按钮时,我必须检查数据库中的数据是否存在;如果不存在,我将显示一个弹出窗口,提醒用户数据库中不存在数据。如果他们仍然选择继续,它将出现在屏幕上;如果没有,它将返回到起点。

    由于服务器无法在客户机上显示弹出窗口,所以我一直停留在显示弹出窗口的位置。

    2 回复  |  直到 14 年前
        1
  •  0
  •   BalusC    14 年前

    只需让servlet将条件存储在请求范围内,让jsp有条件地打印javascript代码。

    Servlet:

    boolean exist = yourDAO.exist(parameters);
    request.setAttribute("exist", exist);
    request.getRequestDispatcher("page.jsp").forward(request, response);
    

    JSP(使用JSTL):

    <c:if test="${!exist}">
        <script>
            if (confirm('Data does not exist, do you want to continue?')) {
                // Do whatever you want when user want to continue ("goes on screen").
            } else {
                // Do whatever you want when user don't want to continue ("returns to starting point").
            }
        </script>
    </c:if>
    
        2
  •  0
  •   Mike Clark    14 年前

    我会按照以下步骤做一些事情:

    首先,在进行数据库检查时设置一个布尔标志

    <%
        boolean POPUP_FLAG = /*condition check*/
    %>
    

    然后,如果您的渲染代码是这样的,您可以检查标记并在页面中包含一个window.open(视情况而定)。

    <%
      if (POPUP_FLAG) {
    %>
        <script>
        window.open("popup.jsp", "_blank");
        </script>
        /*
          Include here any special details to display on the main page in popup mode
        */
    <%
      } else {
    %>
        /*
          Include here the normal information you would want displayed when not in popup mode
        */
    <%
      }
    %>