日期:2014-05-17  浏览次数:20639 次

Strut2标签取对象出错,求解
本帖最后由 redgrass2 于 2013-06-10 09:16:52 编辑
jsp:
<s:form action="manage_saveorupdate" namespace="/room"	method="get">

<s:hidden name="room.room_id"/>
     宿舍区域:<s:select list="#request.dareas" listKey="d_area_id" listValue="d_area_name" name="room.darea.d_area_id" />
<br />
     楼号:<s:textfield name="room.building_no" />


<input type="submit" value="保存" />
</s:form>

action.java
	public String saveorupdate() {
try {
if (room.getRoom_id() == null || room.getRoom_id().equals("")) {
room.setRoom_id(-1);
}

System.out.println(room);
roomService.update(room);
ActionContext.getContext().put("message", "保存成功");
} catch (Exception e) {
ActionContext.getContext().put("message", "e");
} finally {
return "message";
}
}

XML:
  <id type="integer" name="room_id" column="room_id"><generator class="identity" /></id>
  <many-to-one name="darea" column="d_area_id" class="Darea"></many-to-one>
  <property name="building_no"  type="string" length="200" column="building_no" />

报错:java.lang.NullPointerException
通过将room.darea.d_area_id部分改成d_area_id  action.java加setget可以编译通过,有没有办法不改变该name?简单的办法,小虾米求解。改了之后又无法自动修改了。求解?
标签 Java 对象 String 异常

------解决方案--------------------
学习。
------解决方案--------------------
这句话的意思是room.darea.d_area_id    对象room.getDarea().getD_area_id()  看看是不是对象都有,get方法都有