java - Spring MVC 重定向是在 url 中添加一些参数

标签 java spring jsp spring-mvc redirect

我有一个带有以下代码的 spring mvc Web 应用程序。当用户未登录时,我将发送一个图 block View 。

当用户登录时,我将重定向到特定的网址模式。

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String login() throws IOException {
        if (logger.isDebugEnabled()) {
            logger.debug("Requested with /login mapping");
        }

        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

        if (!(authentication instanceof AnonymousAuthenticationToken)) {
            List<String> userRoles = AuthenticationUtils.getUserRoles();
            if (userRoles.contains("ROLE_ADMIN")) {
                return "redirect:/admin.html";
            } else if (userRoles.contains("ROLE_USER")) {
                return "redirect:/user.html";
            }
        }
        return "template";
    }

我得到了重定向,但有一些意外的参数。如何删除它们?

http://localhost:8081/app/admin.html?total=48&loggedInUserRoles=207

我尝试了以下网址,但没有成功。

Spring MVC Controller: Redirect without parameters being added to my url

我不知道哪部分代码添加了参数。

最佳答案

您可以让您的方法返回 View 而不是 String,然后以某种方式创建 RedirectView:

RedirectView view = new RedirectView(url);
view.setExposeModelAttributes(false);
return view;

关于java - Spring MVC 重定向是在 url 中添加一些参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31187747/

相关文章:

java - 在 Java 中转义有效的 XML 字符

java - 在sparkSession上注册两个同名的udf

jquery - 客户端发送的请求在语法上不正确

java - 模型数据未传输到 jsp 页面

java - 如何忽略zuul中的路由?

apache - 我已成功使用 mod_jk 将 apache 连接到 tomcat,但未执行 jsp,而是将它们显示为纯文本文件

java - 用于提供静态内容的 Servlet

java - Ant 卡住且没有异常警告

java - 如何将对象列表下载为 Excel 文件?

java - 使用 Jsoup 从 HTML 获取多个表