在我的控制器中,我想清除我的对象"parking“:
@Controller
@SessionAttributes(value = "parking", types = { Parking.class })
@RequestMapping("/parking")
public class ParkingController {
/**
* vue parking.html
*/
private static final String VIEW_PARKING = "parking";
@RequestMapping(method = RequestMethod.POST, params = { "clearForm" })
public String clearForm(@ModelAttribute("parking") Parking parking,
final HttpSession httpSession, SessionStatus sessionStatus) {
sessionStatus.setComplete();
return VIEW_PARKING;
}我尝试了sessionStatus.setComplete();,也尝试了httpSession.invalidate(),但是当页面重新加载时,我的对象仍然填充了以前的条目。
以下是由parking内容填充的html代码的示例:
<form action="#" th:action="@{/parking}"
th:object="${parking}" method="post" class="form-horizontal">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary btn-lg"
name="clearForm">Remise à zéro du formulaire</button>
</div>
<input type="text" th:field="*{email.destinataires}"
class="form-control" />作为parking对象的属性的email
在调试模式下,我已经检查了所显示的代码是否已执行。
发布于 2018-01-26 23:15:24
Do Nhu Vy解决方案几乎很好,我只需要添加一个get重定向,这样解决方案就能正常工作:
@RequestMapping(method = RequestMethod.GET, params = {"clearForm"})
public String clearForm(@ModelAttribute("parking") Parking parking, WebRequest request, SessionStatus sessionStatus) {
sessionStatus.setComplete();
request.removeAttribute("parking", WebRequest.SCOPE_SESSION);
return "redirect:/" +VIEW_PARKING;
}发布于 2018-01-19 21:05:32
你可能把@SessionScope和@RequestScope搞混了。后者在页面重新加载之间自动失效。
https://stackoverflow.com/questions/48340049
复制相似问题