jsp问题
<%
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 ") 则运行正常,但这方法不能判断字符串相等,请指点,谢谢。
------解决方案--------------------先判断name是不是为空
------解决方案--------------------是否你的name为null?
if(null != name && name.equals( "na ")) ...
------解决方案-------------------- <%!
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 ");
}
%>
------解决方案--------------------为什么还要判断为不为空亚?不明白为什么出错
------解决方案--------------------String name=request.getParameter( "name ");
如果 并没有这个 "name "
则request取过来的是null
------解决方案--------------------进行对象操作时先判断对象是否为空,是一个良好的习惯。
------解决方案--------------------楼上说的有道理
------解决方案--------------------再告诉你一个办法,你的这类情况经常发生的。以后如果你改成 "na ".equals(name)方法写就会避免!