2014-11-05 36 views
1

我想在上传后重定向,并且希望重定向“文件”页面。但提交成功后,在浏览器中的网址不重定向,我也使用萤火虫来检查是否有任何重定向,但没有发生。 我将“重定向:/文件”更改为“重定向:/files.jsp”也无济于事。 有什么错误吗?为什么重定向不能在springmvc中工作

这里是我的代码:

@Controller 
@RequestMapping({ "/files", "/files/" }) 
    public class FileAdminController { 

    @RequestMapping(value = { "/upload/index", "/upload", "/upload/" }, method = RequestMethod.GET) 
     public String showUplaod() { 
     return "upload"; 
    } 

    @RequestMapping(value = { "/index", "/index/", "/" }, method = RequestMethod.GET) 
    public String showFilePage() { 
     return "files"; 
    } 

    @RequestMapping(value = "/upload", method = RequestMethod.POST) 
    public @ResponseBody String handleFileUpload(
     @RequestParam("jarName") String jarName, 
     @RequestParam("manifestName") String manifestName, 
     @RequestParam("files") MultipartFile file) { 

     try { 

      File file1 = new File("c:/uploads/"); 

      file1.getParentFile().mkdirs(); 
      file1.createNewFile(); 
      BufferedOutputStream stream = new 
      BufferedOutputStream(
      new FileOutputStream(file1)); 

      stream.write(bytes); 
      stream.close(); 
      return "redirect:/files"; 
     } catch (Exception e) { 
      return "You failed to upload " + jarName + " => " + e.getMessage(); 
     } 


    } 
} 

回答

6

redirect:是得到由UrlBasedViewResolver解析视图名称。但是@ResponseBody你告诉spring,这个控制器没有返回视图名称。即你必须注意自己重定向,通过注入HttpServletResponse

+0

请你详细说明一下,因为我面临这个问题,我没有@ResponseBody在我的控制器中 – Noris 2016-06-23 22:29:17