I'm using Spring MVC 3 and I have the following Controller
This controller get the filepath and use to do a blastCode:@RequestMapping(value="FileUploadForm",method=RequestMethod.GET) public String showForm(ModelMap model){ UploadForm form = new UploadForm(); model.addAttribute("FORM", form); return "FileUploadForm"; } @RequestMapping(value="FileUploadForm",method=RequestMethod.POST) public ModelAndView processForm(@ModelAttribute(value="FORM") UploadForm form,BindingResult result){ if(!result.hasErrors()){ FileOutputStream outputStream = null; String filePath = System.getProperty("java.io.tmpdir") + "/" + form.getFile().getOriginalFilename(); try { outputStream = new FileOutputStream(new File(filePath)); outputStream.write(form.getFile().getFileItem().get()); outputStream.close(); System.out.println(form.getName()); return new ModelAndView(new RedirectView("success?Filepath="+filePath, true, true, false)); } catch (Exception e) { System.out.println("Error while saving file"); return new ModelAndView("FileUploadForm"); } }else{ return new ModelAndView("FileUploadForm"); } }
Everything works fine, but I still get the filepath in the url.Code:@RequestMapping(value="success") public String blasta(@ModelAttribute("Filepath") String filepath, Model model){ Blast sb = new Blast("somepath"); String[] blastIt = sb.blast("somepath", filepath); String newLine = System.getProperty("line.separator"); ArrayList<Object> result = new ArrayList<>(); for (int i = 5; i < blastIt.length; i++) { if(blastIt[i].startsWith("Lambda")){ break; } else { seila.add(blastIt[i]); System.out.println(blastIt[i]); } model.addAttribute("RESULT", result); } File f1 = new File(filepath); f1.delete(); return "success"; }
And I want this way if it's possibleCode:http://localhost:8081/Ambase/success?Filepath=filePath
Code:http://localhost:8081/Ambase/success


Reply With Quote
