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

时间:2015-07-02 14:46:40

标签: java spring jsp spring-mvc redirect

我有一个带有以下代码的spring mvc web应用程序。当用户未登录时,我正在发送一个图块视图。

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

    @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

我不清楚代码的哪一部分正在添加参数。

1 个答案:

答案 0 :(得分:1)

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

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