Jsp 如何使窗体重新显示?

Jsp 如何使窗体重新显示?,jsp,jakarta-ee,servlets,Jsp,Jakarta Ee,Servlets,我认为,如果表单包含空值,那么该表单需要再次出现在要求填写信息的用户面前。此检查必须在servlet中完成。 我试图使用下面的代码,但当我点击提交按钮时,它仍然不会再次出现 String firstname = request.getParameter("firstname"); String lastname = request.getParameter("lastname"); if(request.getParameter("firstname").equals(" ") || reque

我认为,如果表单包含空值,那么该表单需要再次出现在要求填写信息的用户面前。此检查必须在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;
}
我还缺什么吗??有人能解释一下吗

  • 在获取参数时,始终检查空值
  • 即使您正在测试垃圾代码,也要避免重复代码(使其成为 练习,编码提示(例如使用 request.getParameter(“firstname”);在条件下,当已经 分配给字符串变量
  • 避免不必要的代码。e、 g代码中的“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"); 
        }
    

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

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

    请在此处发布servlet的完整上下文