Python 官方文档:入门教程 => 点击学习
目录springMVC用Post方式重定向Post方式重定向以上方法并不好用,我看了作者写的另一个解决办法springmvc的Post提交405错误,只能使用重定向方式前端文件后端控
正常会以return "redirect:/XXX"这种方式直接重定向,但是这种方式是Get方式提交。
然而有些业务为了安全性必须要Post方式重定向。
我尝试过的方法:
@RequestMapping(value = “postPayAmount”, method = RequestMethod.GET)
public RedirectView postPayAmount(httpsession session,ModelMap map) {
return new RedirectView(WsUrlConf.URI_PAY,true,false,false);//最后的参数为false代表以post方式提交请求
}
1、先封装一个FORM,用他来发Post请求。
public static void doBgPostReq(HttpServletResponse response,String postUrl,Map<String, ?> paramMap) throws IOException {
response.setContentType( "text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<form name='postSubmit' method='post' action='"+postUrl+"' >");
for (String key : paramMap.keySet()) {
out.println("<input type='hidden' name='"+key+"' value='" + paramMap.get(key)+ "'>");
}
out.println("</form>");
out.println("<script>");
out.println(" document.postSubmit.submit()");
out.println("</script>");
}
2、在控制层直接调用
@RequestMapping(value = "doPostRedirectView.do", method = RequestMethod.GET)
@ResponseBody
public void doPostRedirectView(HttpServletRequest request,HttpServletResponse response,ModelMap map) throws IOException {
logger.debug("-----进入了doPostRedirectView----");
map.put("aaa", "aaaa");
HttpUtils.doBgPostReq(response, "doPostReq.do", map);
}
<form action="welcome1" method="post">
<input type="submit" value="post-请求转发">
</form>
<br>
<br>
<form action="welcome2" method="post">
<input type="submit" value="post-重定向">
</form>
@Controller
public class SpringMvcController {
@RequestMapping(path = "welcome1",method = RequestMethod.POST)
public String welcome1(){
return "success"; //默认使用请求转发
}
@RequestMapping(path = "welcome2",method = RequestMethod.POST)
public String welcome2(){
return "redirect:success.html"; //使用重定向
}
}
使用@PostMapping注解的方式也一样。
# 应用名称
spring.application.name=sringmvc-blog
# 应用服务 WEB 访问端口
server.port=8081
# 后缀名
spring.mvc.view.suffix=.html
要跳转的success.html页面
<h1>springMVC 的 post</h1>
运行页面:
请求转发的方式:
重定向的方式:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: SpringMVC如何用Post方式重定向
本文链接: https://lsjlt.com/news/170157.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0