Spring缺少扩展文件

时间:2012-09-12 19:38:42

标签: spring-mvc

我正在使用Spring MVC开发一个应用程序,而Extjs和我有一个问题,我需要将一个文件路径传递给我的控制器,它将用路径删除图像。但是在我看来路径是正确的,但是当请求到达控制器时,路径没有扩展名。

查看:notepad-icon.png

控制器:记事本图标

@RequestMapping (value = "/delete/{file}", method = RequestMethod.DELETE)
public ModelAndView delete(@PathVariable String file){
    ModelAndView view = new ModelAndView(VIEW);
    service.delete(file);
    view.addObject("success", Boolean.TRUE);
    return view;
}

有人能为我提供见解吗?

2 个答案:

答案 0 :(得分:2)

如果这是一个简单的扩展,我建议这样做:

@RequestMapping (value = "/delete/{file}.{ext}", method = RequestMethod.DELETE)
public ModelAndView delete(@PathVariable("file") String file, @PathVariable("ext") String ext){
    ModelAndView view = new ModelAndView(VIEW);
    service.delete(file + "." + ext);
    view.addObject("success", Boolean.TRUE);
    return view;
}

执行此操作的另一种方法是稍微回合 - 这将通过将useSuffixPatternMatch中的RequestMappingHandlerMapping标志设置为false,这应该为您提供整个文件名,但设置标志有点困难的。

答案 1 :(得分:0)

只需将{file:。+}添加到RequestMapping。

@RequestMapping (value = "/delete/{file:.+}", method = RequestMethod.DELETE)