jsp参数传递问题请教

hzyuqi 2006-03-02 11:08:57
我在页面一中做连接:web2.jsp?sort=delete
在页面中取得参数:
String sort = null;
sort = (String)request.getParameter("sort");
if(sort.equals("delete"))
{
执行语句;
}
报错:::
java.lang.NullPointerException
at _jsp._manage._finance_0add__jsp._jspService(manage/finance_add.jsp:34)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
at com.caucho.server.webapp.WebAppFilterChain.doFilte


if(sort.=="delete")
{
执行语句;
}
却不能执行

请高手赐教
...全文
149 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
doway 2006-03-03
  • 打赏
  • 举报
回复
其实非常明显:manage/finance_add.jsp:34 这里甚至指出了行号。

如果是 (String)request.getParameter("sort") 或者 sort.equals("delete") 报出的空引用异常,这表明当时的请求参数中确实不存在名字是 sort 的参数。

当 sort 为 null 时,sort.equals 是一定会发生空引用异常的,而 sort=="delete" 一定返回 false,但不会发生异常。

在其他一些情况下,有一种防守型编程方式:"delete".equals(sort),这种方式可以避免异常。但在目前这种情况下,不应该试图避免,因为那只会将问题隐藏得更加难以察觉。

楼主在 IE 的地址栏中手工敲入 finance_add.jsp?sort=delete 或者是其他的相应参数试一下。

从文件名和参数看起来很不对劲,楼主可能是做了转发或者是重定向到 finance_add.jsp 时忘记提供相应的参数了。
zxjoe 2006-03-03
  • 打赏
  • 举报
回复
String sort = null;
sort = (String)request.getParameter("sort");
if(sort.equals("delete")){
执行语句;
}

改成

String sort = "";
sort = (String)request.getParameter("sort");
if(sort!= null && sort.equals("delete")){
执行语句;
}
就Ok了
hzyuqi 2006-03-02
  • 打赏
  • 举报
回复
会是什么地方的问题呢
文件的名字上面我写的只是个例子,请高手赐教,再线等
xiangbo520 2006-03-02
  • 打赏
  • 举报
回复
绝对是其他地方的问题!
hzyuqi 2006-03-02
  • 打赏
  • 举报
回复
文件是不会错的了
killme2008 2006-03-02
  • 打赏
  • 举报
回复
用equals是没错的

String sort = null;
sort = (String)request.getParameter("sort");
if(sort.equals("delete")&&sort!=null&&!sort.equals(""))
{
执行语句;
}
福贵 2006-03-02
  • 打赏
  • 举报
回复
应该没有问题啊,仔细检查是不是文件名搞错了

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧