所以我的问题很简单:我有一个带按钮的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完全不熟悉。
答案 0 :(得分:0)
好的,最后我明白了。 我将jQuery函数更改为:
$("#go").click(function() {
var source = $("#dropdown").text();
window.location.href='/mainpage?provider='+source;
});
和GET的控制器方法。 这也通过MVC控制器并正确获取提供者的值。
无论如何,如果有更好的方法,请告诉我。