如何让表单重新出现?

时间:2013-04-01 03:42:41

标签: jsp java-ee servlets

我正在查看如果表单包含空值,则表单需要再次向用户重新显示,要求填写信息。此检查必须在servlet中完成。 我正在尝试使用以下代码,但是当我点击提交按钮时,它仍然没有再次重新发布。

String firstname = request.getParameter("firstname");
String lastname = request.getParameter("lastname");
if(request.getParameter("firstname").equals(" ") || request.getParameter("lastname").equals(""))
{
            getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
            return;
}

我错过了什么?有人可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

  1. 在获得参数时始终检查空值。
  2. 即使您正在测试垃圾代码,也要避免重复代码(将其设为     练习,编码提示),例如。运用     用request.getParameter( “姓名”);已经在condiftion     分配给String变量。
  3. 避免不必要的代码。例如代码中的“return”语句
  4. 如果处理不当,您可能会遇到NPE空指针异常。

        String firstname = request.getParameter("firstname"); // check other condiftions as well
        if(firstname==null || "".equals(firstname) || " ".equals(firstname)){
        /* your code
        use below line to redirect to any page 
        make sure you are providing correct path of index.jsp or any servlet for redirection
        servlet mapping should be defined in web.xml*/
    
    response.sendRedirect("index.jsp"); 
        }
    

答案 1 :(得分:0)

如上所述,请清理您的代码。在servlet中,只需这样做。

   if(request.getParameter("firstname") ==null){//and other conditions here
       response.sendRedirect("/index.jsp");        
    }