`
lzj0470
  • 浏览: 1272233 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java.lang.IllegalArgumentException: No bean specified

 
阅读更多
用了一个比较复杂点的。如:
<html:hidden property="hotel.hotelRooms[${index}].hotel.id"/>

首先,拆分说一下hotel.hotelRooms[${index}].hotel.id的意思。

hotel.hotelRooms[${index}] 

表示
hotel.getHotelRooms().get(index)

必须保证get出来的东西存在。

hotel.hotelRooms[${index}].hotel 

表示
hotel.getHotelRooms().get(index).getHotel()

必须保证hotel对象不能为空。

hotel.hotelRooms[${index}].hotel.id

表示
hotel.getHotelRooms().get(index).getHotel().getId()


分析一下错误原因,估猜是因为get(index) 或 getHotel() 为空,所以抛出这样的错误。

我的场景错误原因是因为getHotel()为空。所以,在实体对象中,初始化Hotel对象就行了。
如:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "hotelId")
private Hotel hotel = new Hotel();

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics