重定向到`Java`中的get方法时如何从url中删除参数[重复]

Posted

技术标签:

【中文标题】重定向到`Java`中的get方法时如何从url中删除参数[重复]【英文标题】:how to remove parameter from url when redirecting to get method in `Java` [duplicate] 【发布时间】:2016-01-29 07:02:31 【问题描述】:

当我从post方法重定向后加载get方法时,我想从postHandle方法中的HeaderInterceptor.java中删除参数。

我的HeaderInterceptor.java文件中写的是

modelAndView.addObject("roleId", stu.getRoleId());

所以,当我从 post 方法重定向到 get 时,来的 url 是: http://localhost:8080/System/StudentList.htm?roleId=23

所以,这里我要删除的是?roleId=23

以下是POST方法编写的代码:

String referer = request.getHeader("referer"); return "redirect:"+referer;

但我无法在引用字符串中看到任何参数。

我在 POST 方法中尝试的代码是: RedirectView redirectview = new RedirectView("?"); redirectview.setExposeModelAttributes(false);

但它仍然显示与参数相同的网址。

任何帮助将不胜感激。谢谢:)

【问题讨论】:

【参考方案1】:

您可以通过调用类似的方法手动删除 URL 参数 String newURL = url.substring(0, url.indexOf("?"));

【讨论】:

当我尝试在 get 方法中跟踪 URL 时,我没有得到像 ?roleId=23 String url = request.getServletPath(); 这样的任何东西,那么如何使用子字符串操作手动删除它

以上是关于重定向到`Java`中的get方法时如何从url中删除参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中重定向到外部URL

.htaccess 从 GET 变量重定向到 url 字符串

如何重定向到 Java/Spring 控制器中的 URL [重复]

在 'get' 视图方法中访问 URL

java重定向时如何保持地址栏不变

如何在 Django 2 中的 POST 方法后重定向到成功