日期:2014-05-18  浏览次数:20742 次

ssh该死的空指向异常(急)
增加“商品"时提示下面这行出现空指向异常:
  goods=this.igoodsdao.getGoodsById(gf.getGoodsName());

列出相关的所有代码:
 一、//根据商品名称查询某商品
public Goods getGoodsById(String goodsName)
throws Exception {
// TODO Auto-generated method stub
Goods goods=null;
String hql="FROM Goods as g WHERE g.goodsName=? ";
Query q=super.getSession().createQuery(hql);
q.setString(0, goodsName);
List all=null;
all=q.list();
if(all.size()>0)
{
goods=(Goods) all.get(0);
}
return goods;
}
二、Goods.java
private String goodsName;
//并有相应的getter和setter方法
三、GoodsForm.java
private String goodsName;
//并有相应的getter和setter方法
四、GoodsAction.java中增加商品操作insert(Action....)方法
GoodsForm gf= (GoodsForm) form;
....
Goods goods=null;
try {
  goods=this.igoodsdao.getGoodsById(gf.getGoodsName());//就是这行有空指向异常
  if(goods==null)
  {
  ......其它无关的代码全省了
五、addGoods.jsp页面
  ....
  <tr>
  <td align="right" width="30%">商品名称</td>
  <td align="left" width="70%"><html:text property="goodsName"/><font size="3" color="blue">(*必填)</font></td>
  </tr>
  .......
以上都是有关的代码,问题就是这个该死的空指向异常,在其它的模块中类似的功能都不会出现这个异常。
急救!!!


------解决方案--------------------

------解决方案--------------------
igoodsdao看看这个是不是null
------解决方案--------------------
igoodsdao.getGoodsById(gf.getGoodsName());//就是这行有空指向异常 

只有两个可能性,第一是igoodsdao为null,第二是gf为null

个人认为同一楼.
------解决方案--------------------
goods=this.igoodsdao.getGoodsById(gf.getGoodsName()); 

这行一共才几个对象,在前面都打印出来看一下哪个是null就知道为什么了。。。。。