加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java-隐藏@ModelAttribute变量以防止出现在URL中?春季MVC

发布时间:2020-12-15 01:21:52 所属栏目:大数据 来源:网络整理
导读:我正在使用Spring MVC 3,并且具有以下控制器 @RequestMapping(value="FileUploadForm",method=RequestMethod.GET)public String showForm(ModelMap model){ UploadForm form = new UploadForm(); model.addAttribute("FORM",form); return "FileUploadForm";

我正在使用Spring MVC 3,并且具有以下控制器

@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,false));
        } catch (Exception e) {
            System.out.println("Error while saving file");
            return new ModelAndView("FileUploadForm");
        }

    }else{
        return new ModelAndView("FileUploadForm");
    }

}

该控制器获取文件路径并用于执行爆炸

@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";

}

一切正常,但是我仍然在url中获得文件路径.

http://localhost:8081/Ambase/success?Filepath=filePath

如果可能的话,我想这样

http://localhost:8081/Ambase/success
最佳答案
尝试将此代码添加到servlet-config.xml

<mvc:annotation-driven ignoreDefaultModelOnRedirect="true" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读