如何在刷新页面时防止重复条目

时间:2014-05-18 12:45:49

标签: java spring spring-mvc model-view-controller spring-roo

在我的网页中,在一系列操作之后,客户会看到预订的详细信息。用于填充要在这些详细信息中显示的数据的方法也将预留存储在数据库中:

@RequestMapping(params = { "complete" }, method = RequestMethod.POST, produces = "text/html")
public String completeReservation(Model uiModel, HttpServletRequest httpServletRequest, ...) {  
    // ...
    reservation.persist();
    // ...
    uiModel.addAttribute(...);
    uiModel.addAttribute(...);
    // ...
    return "reservations/success";
}

success页面是显示详细信息的页面。

但是,如果我刷新页面,则会存储另一个预订条目,我不希望这种情况发生。

有关如何处理此问题的任何建议?

1 个答案:

答案 0 :(得分:1)

通常,这可以通过做两个动作来解决 - 一个是做生意(存储预约),另一个是向用户显示结果。

在第一个操作中成功存储预约后,重定向到第二个操作。从用户的角度来看,它将是一个操作,如果他点击重新加载按钮,则只会再次执行查看操作。