1. 用注解来启动conversation,同时选定对象
示例:
@Begin
public void selectHotel(Hotel selectedHotel)
{
hotel = em.merge(selectedHotel);
}
其中,EntityManager.merge()方法将选定的对象的状态放入当前持久化上下文中,即让选定的对象的状态进入我们的“视野”。
对应的页面部分:
<h:column id="column5">
<f:facet id="ActionFacet" name="header">Action</f:facet>
<s:link id="viewHotel" value="View Hotel" action="#{hotelBooking.selectHotel(hot)}"/>
</h:column>
2. 用注解来
结束conversation
比如,页面中 “取消” 按钮的功能,
示例:
@End
public void cancel() {}
或者是一个定义conversation流程进入末尾,比如,“确定” 按钮的功能
示例:
@End
public void confirm()
{
em.persist(booking);
facesMessages.add("Thank you, #{user.name}, your confimation number for #{hotel.name} is #{booking.id}");
log.info("New booking: #{booking.id} for #{user.username}");
events.raiseTransactionSuccessEvent("bookingConfirmed");
}
更多推荐
有状态Bean中用方法管理conversation
发布评论