2013-08-28 37 views
1

所以,我有两个JSP页可以说first.jsp和second.jsp
现在在页first.jsp我有3个链接。
所有这三个环节都指的second.jsp一些查询字符串可以说second.jsp S =一个打开页面没有查询字符串错误在jsp

现在在第二页我得到这个字符串“s”和显示结果为:?

String st=request.getParameter("s"); 

if(st.equals("one")){ 

} 
if(st.equals("two")) 
{ 

} 
if(st.equals("three")) 
{ 

} 

假设我点击第一个链接,并达到second.jsp?s =一页。
现在在URL中,如果我删除查询字符串并点击回车,则显示空指针异常错误。

我该如何解决这个错误?

回答

1

您必须在使用该对象之前检查null。事情是这样的:

if (st == null){ 
    return WhatEverYouWantToReturn; 
} 
else{ 
    if(st.equals("one")){ ... } 
    if(st.equals("two")){ ... } 
    if(st.equals("three")){ ... } 
} 

如果你调用一个空物体上.equals(),你会得到一个空指针异常。

+0

我已经尝试过这种方法,但它不工作....... 它再次显示了路线错误 '如果(st.equals(“1”)){ }' – AmanS

+0

你有为了确保,如果st为null,例如else结构,则不要调用st.equals。修改答案更加明确。 – Ope

+0

是啊,它的工作............ – AmanS