java Spring自动添加模型参数到url

fnvucqvd  于 2023-01-11  发布在  Java
关注(0)|答案(3)|浏览(173)

当我在方法中使用return redirect时,spring会自动添加Model变量,比如get params到url。
但不幸的是它不适用于Spring3.2
我还发现以下
当升级到spring-mvc-4.0.xsd时,您应该分别用启用矩阵变量和忽略默认模型重定向替换启用矩阵变量和忽略默认模型重定向。
但是当我将其添加到mvc-dispatcher.xml中时,IDE显示此处不允许使用该属性。

Spring 3.2有任何解决方案吗?

fcipmucu

fcipmucu1#

如果您正在使用java配置,请将以下内容添加到WebMvcConfigurerAdapter子类:

@Autowired
private RequestMappingHandlerAdapter requestMappingHandlerAdapter;

@PostConstruct
public void init() {
    requestMappingHandlerAdapter.setIgnoreDefaultModelOnRedirect(true);
}
gmxoilav

gmxoilav2#

您可以在重定向之前清除模型:

@RequestMapping(...)
public String doSomething(Model model, ...)
{
    // ....
    model.asMap().clear();
    return "redirect:list";
}

您可以在这里看到其他解决方案:
Spring 3.0 MVC :Redirect without parameters being added to my url

fjnneemd

fjnneemd3#

这对我很有效。如果你希望你的模型数据被附加到url参数,就使用这个。

@RequestMapping("save/")
public View doSave(...)
{
    ...
    RedirectView redirect = new RedirectView("/success");
    redirect.setExposeModelAttributes(false);
    return redirect;
}

感谢reallynic的评论。

相关问题