首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

Struts遇到java.lang.NullPointerException 异常

2014-01-26 
在用logic:iterate idls namelisttrtd aligncenterbean:write namels propertyduty_n

在用
  <logic:iterate id="ls" name="list">
  <tr>
  <td align="center"><bean:write name="ls" property="duty_name" /></td>
  <td align="center"><bean:write name="ls" property="id" /></td>
  <td align="center"><input type="checkbox" name="checkbox" value="checkbox"></td>
  </tr>
  </logic:iterate>
  进行循环时,如果这里<bean:write name="ls" property="id" />的id是字符串属性就没问题,如果是整型就报错了。代码如下:
  //ListBean.java
  public void listDevice(HttpServletRequest req)
  throws Exception
  {
    int num;
  String s="SELECT count(*)FROM v6_duty";
  String s1="SELECT * FROM v6_duty";
  try
  {
  ResultSet rs=dbconn.executeQuery(s);
  ResultSet rs1=dbconn.executeQuery(s1);
  rs.next();
  num=rs.getInt("count(*)");
  dutybean=new DutyBean[num];
  rs1.next();
  for(int i=0;i<num;i++)
  {
  dutybean[i]=new DutyBean();
  dutybean[i].setDuty_id(rs1.getInt("ID"));
  dutybean[i].setDuty_name(rs1.getString("DUTY"));
  rs1.next();
    }
  dbconn.closeconn();
  }
  catch(SQLException sqlexception)
  {
  System.err.println("aq.executeQuery:" + sqlexception.getMessage());
  }
  req.setAttribute("list",dutybean);
  }
 
 
  //DutyBean.java
  String duty_name;
  public String getDuty_name()
  {
  return duty_name;
  }
  public void setDuty_name(String s)
  {
  duty_name=s;
  }
 
  int id;
  public int getId()
  {
  return id;
  }
  public void setId(int i)
  {
  id=i;
  }

------解决方法--------------------------------------------------------
他只对对象起作用,对基础数据类型不起作用,你把int改成Integer就好了
------解决方法--------------------------------------------------------
<logic:iterate id="ls" name="list" type="你的bean全名">
------解决方法--------------------------------------------------------
你在jsp中使用list之前应该先使用notempty标签判断一下!
------解决方法--------------------------------------------------------
我从来没遇到过你的这种问题,你检查一下是不是因为你数据库中的字段所导致的。譬如说:你的这个字段是int型的,但是对于某些数据库来说,这个字段可以为0,也可以为空的。如果你取出的为空,而bean:write会进行“数字-字符”的转换,对于空,没办法转换,就会报错。
 
  你看看是否有这样的数据?
 
  btw:<bean:write>是可以正确显示int型数据的。
 
  如果还有问题,我就得看看你的错误日志了,否则我也不好猜。         

热点排行