0

我在看,如果表单包含空值,那么表单需要再次出现在用户面前,要求填写信息。此检查必须在 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;
}

我还缺少什么吗??有人可以解释一下吗?

4

2 回答 2

0

正如所有人所说,请清理您的代码。就servlet这样做。

   if(request.getParameter("firstname") ==null){//and other conditions here
       response.sendRedirect("/index.jsp");        
    }
于 2013-04-01T06:10:49.853 回答
0
  1. 当你得到参数时,总是检查空值。
  2. 即使您正在测试垃圾代码(使其成为一种实践,编码提示),例如使用 request.getParameter("firstname"); 也要避免重复代码;在已经分配给 String 变量的条件下。
  3. 避免不必要的代码。例如,代码中的“return”语句

如果处理不当,您可能会遇到 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"); 
    }
于 2013-04-01T05:02:08.247 回答