在Java中比较String参数时出现NullPointerException

use*_*652 3 java servlets nullpointerexception

我正在使用servlet作为重定向页面的控制器.所以,我有以下链接:

<li><a href="actionController?key=contact">Contact</a></li>
<li><a href="actionController?key=support">Request support</a></li>
Run Code Online (Sandbox Code Playgroud)

我希望在我的控制器中接收此参数,并从页面Contact.jsp的页面重定向请求,例如.

因此,我认为这将是:

    contact = request.getParameter("contact");

    support = request.getParameter("support");

    if (contact.equals("contato"))
    {
        RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/center/Contact.jsp");
        view.forward(request, response);        
    }
    else if (support.equals("support"))
    {
        RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/center/Support.jsp");
        view.forward(request, response);
    }
Run Code Online (Sandbox Code Playgroud)

但是,不起作用,是用java.lang.NullPointerException.

谢谢

rua*_*akh 5

您的servlet代码似乎与您的HTML片段不匹配.我想你需要写:

    String key = request.getParameter("key");

    if (key != null && key.equals("contact"))
    {
        RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/center/Contact.jsp");
        view.forward(request, response);        
    }
    else if (key != null && key.equals("support"))
    {
        RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/center/Support.jsp");
        view.forward(request, response);
    }
Run Code Online (Sandbox Code Playgroud)

  • 你也可以反过来检查它`if("contact".equals(key))`.字符串文字`"contact"`已经保证不是'null` :) (3认同)