gpt4 book ai didi

Spring MVC FlashMap 和 RedirectAttributes 请求映射

转载 作者:行者123 更新时间:2023-12-01 12:59:05 26 4
gpt4 key购买 nike

昨天我下载了新的 Spring 3.1RC 来测试刚刚引入的对 Spring MVC 中 flash 作用域变量的支持。不幸的是我无法让它工作......

我有一个 HTML 表单,其中包含一些没有 spring:forms 标签的复选框。像这样的东西:

<form action="/deleteaction" method="post">
<input type="checkbox" name="itemId" value="1" />
<input type="checkbox" name="itemId" value="2" />
<input type="submit" name="delete" value="Delete items" />
</form>

在 Flash 范围支持之前,我的带注释的 Controller 看起来像:
@RequestMapping(value = "/deleteaction", method = RequestMethod.POST, params={"delete"})
public String deleteItems(@RequestParam(value="itemId", required=false) String itemId[]) {

或者,我可以使用 HttpServletRequest而不是 @RequestParam :
@RequestMapping(value = "/deleteaction", method = RequestMethod.POST, params={"delete"})
public String deleteItems(HttpServletRequest request) {
String itemIds[] = request.getParameterValues("itemId");

两种方法都运行良好。如果我尝试添加 RedirectAttributes给方法参数,Spring会抛出异常:
@RequestMapping(value = "/deleteaction", method = RequestMethod.POST, params={"delete"})
public String deleteItems(@RequestParam(value="itemId", required=false) String itemId[], RedirectAttributes redirectAttrs) {

日志:
Oct 16, 2011 11:20:37 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/App] threw
exception [Request processing failed; nested exception is
java.lang.IllegalArgumentException: argument type mismatch] with root cause
java.lang.IllegalArgumentException: argument type mismatch

我究竟做错了什么?如何获得 RedirectAttribues 参数,在哪里添加 Flash 范围的变量?

最佳答案

为了使用新RedirectAttributes ,老DefaultAnnotationHandlerMapping , AnnotationMethodHandlerAdapterAnnotationMethodHandlerExceptionResolver必须在 dispatcher-servlet.xml 中更换.

一个机会是使用 <mvc:annotation-driven/> ,它在 Spring 3.1 中配置了新类 RequestMappingHandlerMapping , RequestMappingHandlerAdapter , 和 ExceptionHandlerExceptionResolver替换旧的。

否则,必须在 dispatcher-servlet.xml 中显式配置新的处理程序类。 .

这里有一些额外的信息:http://forum.springsource.org/showthread.php?115976-Spring-MVC-FlashMap-and-RedirectAttributes-request-mapping

关于Spring MVC FlashMap 和 RedirectAttributes 请求映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787445/

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