2014-11-05 2 views
1

Я хочу перенаправить после загрузки и хочу перенаправить «файлы». но после отправки успешно, URL-адрес в браузере не перенаправляется, я также использую firebug, чтобы проверить, есть ли какая-либо переадресация, но не произойдет. Я изменяю «redirect:/files» на «redirect: /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 вы говорите весне, что этот контроллер не возвращает имя вида. То есть вам придется позаботиться о переадресации самостоятельно, введя HttpServletResponse.

+0

не могли бы вы уточнить, потому что я столкнулся с этой проблемой, и у меня нет @ResponseBody в моем контроллере – Noris

Смежные вопросы