2014-09-20 88 views
1

我试图在登录屏幕上打印登录错误消息。在线处理JSP页面/customerLogin.jsp时发生异常

<% 
    errorMessage = request.getParameter("errorMessage"); 
    if(errorMessage.equals(null)) 
    errorMessage = "Error: " +request.getParameter("errorMessage"); 
     else 
     errorMessage=""; 
    out.println(errorMessage); 

    %> 

在本质上,这个request.getParameter不会返回任何值。因此它将返回null。但一旦用户输入用户名密码并提交它将返回错误信息。

即时得到以下错误:

org.apache.jasper.JasperException: An exception occurred processing JSP page /customerLogin.jsp at line 18 

15: errorMessage = request.getParameter("errorMessage"); 
16:  
17:   
18: out.println(errorMessage.toString().equals(null)); 
19:    
20: %> 
21: 
+1

不使用equals方法检查null ...使用errorMessage == null – 2014-09-20 14:19:55

回答

0

就像你stackstrace指出什么。

org.apache.jasper.JasperException: An exception occurred processing JSP page /customerLogin.jsp at line 18 

out.println(errorMessage.toString().equals(null)); 

您不应该使用equals方法来检查空对象。永远记得
==检查对象引用相等,而.equals()测试值相等。

相反。

if(errorMessage.equals(null)) 

使用

if(errorMessage == null) 

或使用.equals()如果当你希望空字符串,而不是空。

if(errorMessage.toString().equals("")) 
+0

感谢它的工作 – 2014-09-20 16:24:40

相关问题