我们看到了 Spring MVC 的一个问题/特性,在我们的客户端 JSP 中删除的条目在我们的请求到达控制器时重新出现。
以下是我们在控制器中的 GET 请求的片段:
AssignmentRulesFormDTO assignmentRulesFormDTO = ...
model.addAttribute("assignmentRulesForm", assignmentRulesFormDTO);
return new ModelAndView(getPageName(), model);
因此,我们的 AssignmentRulesFormDTO 包含许多 Rule 对象,在我们的客户端,其中一个对象被删除。我已经通过 Fiddler 确认删除的对象没有传递给服务器。然而,当它到达我们控制器的保存方法时,对象又重新出现了。这是 save 方法的方法签名:
public ModelAndView saveRuleAttributesAndRules(@ModelAttribute("assignmentRulesForm")
AssignmentRulesFormDTO assignmentRulesForm, BindingResult bindingResult, HttpSession session, Principal principal,
ModelMap model) {
所以看起来好像 Spring 在它到达我们的控制器之前正在执行某种合并。
因此,我想知道这种现象叫什么,以及如何为这个特定的会话属性关闭它?