我有一个 jsp 页面,其中包含一个表单,当它提交时会转到 Servlet ,将表单数据插入数据库。
当数据插入数据库时,我试图让浏览器回到我的jsp页面并显示一条javascript警告,说明数据已成功插入,我的代码如下:
RequestDispatcher rd;
if(dao.insertClient(client)) {
rd = getServletContext().getRequestDispatcher("/pages/clients.jsp");
rd.include(request, response);
out.print(
"<script type=\"text/javascript\">"
+ "alert("Client inserted successfully!");"+
"</script>"
);
}
这段代码正是我想要的,但是这个方法 getRequestDispatcher()将页面重定向到servlet本身,而URL就像http://localhost:8080/Servlet,这样我不能访问页面的任何实习链接,因为到其他页面的链接显然不在servlet上下文中,并且glassfish返回404错误。
我没有使用getRequestDispatcher(),而是尝试使用 response.sendRedirect(),这样我就可以将数据插入数据库并访问实习链接,但是javascript警告< b>未显示。
有人建议我如何将网页重定向到 clients.jsp 并显示javascript警告?
谢谢!
答案 0 :(得分:0)
你可以尝试另一种方法:
从servlet设置参数如下:
RequestDispatcher rd;
if(dao.insertClient(client)) {
rd = getServletContext().getRequestDispatcher("/pages/clients.jsp");
request.setAttribute("isSuccess", "success");
rd.include(request, response);
}
访问jsp中的参数以检查是否显示警告。
<%
String result = request.getParameter("isSucess");
if("success".equals(result)){
%>
<script type="text/javascript" >
alert("Client inserted successfully!");
</script>
<%
}
%>