我必须使用除RequestDispatcher之外的东西?

时间:2010-12-06 07:38:48

标签: jsp

我正在从jsp页面添加一些数据(Add.jsp)。单击submit按钮后添加该数据后,我必须显示相应表格的视图页面。

这里,如果我正在插入3行(从我的Add.jsp)到表,如果表包含已经包含2行,我在我的视图页面中显示了那些enitre 5行(view.jap

为此我写的代码就像在Add.jsp

中一样
if ("Submit".equals(request.getParameter("button"))) {
//geting page values from request.getParameter(name);
String message = obj.addDetails(beanObj);//this method returns string value after successfully inserting
if(message.equals("Added"))
{
 RequestDispatcher rd = request.getRequestDispatcher("View.jsp");
 rd.forward(request, response);
}
}

在我的浏览器中我得到View.jsp。但是在网址中它只是Add.jsp(观察到)。

问题:我的问题是当我点击浏览器上的刷新按钮(在显示veiw.jsp的当前页面中)时,我在页面(Add.jsp)的字段中提交的数据是什么?我再次插入数据库并在我的页面中显示为完全8行。

请给我代码,我需要写一下RequstDiapatcher

1 个答案:

答案 0 :(得分:1)

使用response.sendRedirect("View.jsp")

如果您需要显示某些消息(例如“已成功插入记录”),则需要以下其中一项:

  • 将消息放入会话中,然后在显示
  • 后将其删除
  • 一些闪光/对话范围(实际上与上面相同,但在幕后)
  • 将其作为获取参数传递 - response.sendRedirect("View.jsp?message=success")

顺便说一句,您最好将处理逻辑放在servlet而不是JSP(这是一种视图技术)