<%
String name=request.getParameter("name");
String pass=request.getParameter("pass");if(name.equals("na"))
{
   session.setAttribute("name",name);
   session.setAttribute("pass",pass);
   response.sendRedirect("loginsuccess.jsp");
}
%>这是我jsp的一段代码,但运行报错
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
如果将if(name=="na") 则运行正常,但这方法不能判断字符串相等,请指点,谢谢。

解决方案 »

  1.   

    是否你的name为null?
    if(null != name && name.equals("na")) ...
      

  2.   

    <%!
     public String deNull(String s)
     {
      return s==null?"":s.trim();
     }
     %>
    <%
     String name=deNull(request.getParameter("name"));
     String pass=deNull(request.getParameter("pass"));
      if(name.equals("na"))
    {
       session.setAttribute("name",name);
       session.setAttribute("pass",pass);
       response.sendRedirect("loginsuccess.jsp");
    }
    %>
      

  3.   

    String name=request.getParameter("name");
    如果 并没有这个 "name" 
    则request取过来的是null
      

  4.   

    再告诉你一个办法,你的这类情况经常发生的。以后如果你改成"na".equals(name)方法写就会避免!