jQuery按钮单击+ spring mvc navigation

时间:2016-01-21 16:40:06

标签: javascript jquery spring spring-mvc

所以我的问题很简单:我有一个带按钮的html页面。单击按钮时,我想移动到另一个页面。看起来很简单,但我无法理解。

所以,我的按钮处理逻辑如下所示:

$("#go").click(function() {
            var source = $("#dropdown").text();
            $.ajax({
                type : "GET",
                url : "mainpage.html",
                data: {provider: source}
            });
        })

现在我的控制器看起来像这样:

   @Controller
    public class MainController {
    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public ModelAndView hello() {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }

    @RequestMapping(value = "/mainpage", method = RequestMethod.GET)
    public String goToMainPage(@RequestParam("provider") String provider) {
        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@" + provider.trim());
        return "empty";
    }
}

故事从与/hello(= index.jsp)相关联的页面开始。页面被找到,显示,一切都很好。但是,当我点击y按钮时,我可以看到一堆'@'符号打印出来,但是/ hello(index.jsp)的页面再次显示而不是/mainpage的那个(这应该是是empty.jsp文件就在另一边。)

我也尝试返回ModelAndView,但这没有帮助。我试图将这个控制器拆分为两个,但它没有帮助。我尝试使用POST代替GET,你知道发生了什么......

这可能是一个愚蠢的问题,但我对Spring MVC完全不熟悉。

1 个答案:

答案 0 :(得分:0)

好的,最后我明白了。 我将jQuery函数更改为:

    $("#go").click(function() {
        var source = $("#dropdown").text();
        window.location.href='/mainpage?provider='+source;
    });

和GET的控制器方法。 这也通过MVC控制器并正确获取提供者的值。

无论如何,如果有更好的方法,请告诉我。