gpt4 book ai didi

java - Spring 在 GET 和 POST 之间丢失了模型属性

转载 作者:行者123 更新时间:2023-11-30 09:05:48 25 4
gpt4 key购买 nike

get 方法将准备模型并发送到“add person”jsp
它还会将“模式”属性设置为“添加”(因此添加和编辑可以共享同一个jsp)
当processSubmit结果hasErrors时,mode属性消失
调用之间如何维护模式属性?

@RequestMapping(value="/people/def/add" , method = RequestMethod.GET)
public String personAdd(@ModelAttribute("person") Person person,Model map) {
map.addAttribute("mode", "add");
//DO SOME LOGIC
return "personAdd";
}

@RequestMapping(value="/people/def/add" , method = RequestMethod.POST)
public String processSubmit(@ModelAttribute("person") Person person,BindingResult result) {
personValidator.validate(person, result);
if (result.hasErrors()) {
//MODE ATTRIBUTE IS LOST
return "personAdd";

最佳答案

请求属性仅在请求的生命周期内有效。因此,如果您想在 Post 中返回“模式”,您可能必须将其作为 POST 的一部分提交回来,这可能是通过在您的 Web 表单中使用隐藏的表单控件。

您必须将“@RequestParam("mode") String mode”添加到您的“processSubmit”方法以从 HTTP POST 参数中检索模式的值

关于java - Spring 在 GET 和 POST 之间丢失了模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com