我有一些带有一些字段的JSP。当我填写字段并单击发送按钮时,我必须检查数据库中的数据是否存在;如果没有,我会显示一个弹出窗口,提醒用户数据库中不存在该数据。如果他们选择继续,它会在屏幕上显示;如果没有,它会回到起点。
我被困在显示弹出窗口的位置,因为服务器无法在客户端显示弹出窗口
答案 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>