显示弹出窗口的问题(java 1.4)

时间:2010-07-29 13:53:39

标签: javascript jsp popup

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

我被困在显示弹出窗口的位置,因为服务器无法在客户端显示弹出窗口

2 个答案:

答案 0 :(得分:0)

我会按照以下方式做一些事情:

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

<%
    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
    */
<%
  }
%>

答案 1 :(得分:0)

让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>