<action path="/htlDai" type="com.liu.struts.action.HtlDaiAction">
<forward name="success" path="/hotel/htlDai.jsp" />
</action>这是列出待审核订单的配置文件中的代码。
以下是HtlDai.java中的关键代码:
Hotel hotel=new Hotel();
Booking booking=new Booking();
if(session.getAttribute("hotel")!=null)//用户刚刚添加的酒店
{
hotel=(Hotel)session.getAttribute("hotel");//获取用户的hotel
}
if(session.getAttribute("oldHotel")!=null)//用户原来的酒店
{
hotel=(Hotel)session.getAttribute("oldHotel");//获取用户的hotel
}
Set bookings= hotel.getBookings();
List<Booking> dais = new ArrayList();
Iterator it=bookings.iterator();
while(it.hasNext()){
booking=(Booking)it.next();
if(booking.getBookingState().equals("待酒店方审核")){
dais.add(booking);
}
}
Page<Booking> page = new Page<Booking>(curpage,3,dais.size());
page.setEntity(dais);
request.setAttribute("page", page);
return mapping.findForward("success");
页面上的代码就不说了,没多大关系,就是取出page中的Entity中每一个待审核订单的信息。
然后有一个<a href="passSH.do?bookingID=<%=booking.getId()%>">通过</a>的超链接,struts配置文件如下: <action path="/passSH" type="com.liu.struts.action.PassSHAction">
<set-property property="cancellable" value="false" />
<forward name="success" path="/htlDai.do" />
</action>。
PassSH.java中代码如下:
int bookingID=Integer.parseInt(request.getParameter("bookingID"));//取出传来的订单id
BookingDAO bookingdao=new BookingDAO();
Booking booking=bookingdao.findById(bookingID);
booking.setBookingState("未入住");//修改订单的状态
bookingdao.save(booking);//保存订单
return mapping.findForward("success");
问题来了:我点击“通过”超链接时,数据库中该订单的状态改变了,但是在待审核订单的页面仍然显示该订单。理论上说应该不再显示该订单的。更神经的是,如果我重启一下TomCat,再重新发布一下页面就刷新了。但是更多时候是不刷新的啊。郁闷死了,快毕业答辩了系统还没做好。求大侠指教
<forward name="success" path="/hotel/htlDai.jsp" />
</action>这是列出待审核订单的配置文件中的代码。
以下是HtlDai.java中的关键代码:
Hotel hotel=new Hotel();
Booking booking=new Booking();
if(session.getAttribute("hotel")!=null)//用户刚刚添加的酒店
{
hotel=(Hotel)session.getAttribute("hotel");//获取用户的hotel
}
if(session.getAttribute("oldHotel")!=null)//用户原来的酒店
{
hotel=(Hotel)session.getAttribute("oldHotel");//获取用户的hotel
}
Set bookings= hotel.getBookings();
List<Booking> dais = new ArrayList();
Iterator it=bookings.iterator();
while(it.hasNext()){
booking=(Booking)it.next();
if(booking.getBookingState().equals("待酒店方审核")){
dais.add(booking);
}
}
Page<Booking> page = new Page<Booking>(curpage,3,dais.size());
page.setEntity(dais);
request.setAttribute("page", page);
return mapping.findForward("success");
页面上的代码就不说了,没多大关系,就是取出page中的Entity中每一个待审核订单的信息。
然后有一个<a href="passSH.do?bookingID=<%=booking.getId()%>">通过</a>的超链接,struts配置文件如下: <action path="/passSH" type="com.liu.struts.action.PassSHAction">
<set-property property="cancellable" value="false" />
<forward name="success" path="/htlDai.do" />
</action>。
PassSH.java中代码如下:
int bookingID=Integer.parseInt(request.getParameter("bookingID"));//取出传来的订单id
BookingDAO bookingdao=new BookingDAO();
Booking booking=bookingdao.findById(bookingID);
booking.setBookingState("未入住");//修改订单的状态
bookingdao.save(booking);//保存订单
return mapping.findForward("success");
问题来了:我点击“通过”超链接时,数据库中该订单的状态改变了,但是在待审核订单的页面仍然显示该订单。理论上说应该不再显示该订单的。更神经的是,如果我重启一下TomCat,再重新发布一下页面就刷新了。但是更多时候是不刷新的啊。郁闷死了,快毕业答辩了系统还没做好。求大侠指教
2.你DG跟一下看后台有没有值,调用到查询方法有没有值,
3.你不是把数据放在dais 集合里面吗? 你操作(插入、删除等)后,把对象添加到这个集合里面,次集合最好是全局的【此方法应该可行,不过一般情况下我是很少用】。
4.页面你是用什么方法提交的情况太多了,我没看到也不好说,你只有自己DG跟一下