spring mvc 重定向,地址栏带了参数,不想带怎么办

 我来答
ifeilong
2016-09-03 · TA获得超过8068个赞
知道大有可为答主
回答量:1187
采纳率:100%
帮助的人:792万
展开全部

在spring mvc
3.1后,可以这样 

@RequestMapping(value = "/user/save", method = RequestMethod.POST)  
public ModelAndView saveUser(UserModel user, RedirectAttributes redirectAttributes)
throws Exception {     
redirectAttributes.addFlashAttribute("message", "保存用户成功!");//使用addFlashAttribute,参数不会出现在url地址栏中  
    return "redirect:/user/save/result";  
}

 

 

  来个稍微完整点的例子,首先是一个表单,在其中填入一些信息: 

<form:form id="myform" action="saveUserDetails.action" method="POST" commandName="user">  
   <form:input type="text" name="firstName" path="firstName"/>  
   <form:input type="text" name="lastName" path="lastName"/>  
   <form:input type="text" name="email" path="email"/>  
   <input type="submit"  value="submit">  
</form:form>

   

 

   则在controller中,可以这样: 

 @RequestMapping(value="/saveUserDetails.action",method=RequestMethod.POST)  
public String greetingsAction(@Validated User user,RedirectAttributes redirectAttributes){  
              
someUserdetailsService.save(user);  
      
redirectAttributes.addFlashAttribute("firstName",user.getFirstName());  
redirectAttributes.addFlashAttribute("lastName",user.getLastName())  
   
return"redirect:success.html";  
}

 

 

  success.html: 

<div> 
<h1>Hello ${firstName} ${lastName}. Your details stored in our database.</h1> 
</div><br>

 

  但如果F5的时候,会发现参数丢失,因为flash scope其实只支持redirect的

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式