我正在我的项目中工作春天。我点击链接时有href链接我想调用我的帖子方法我就像下面这样做
<a href="javascript:getUserProfileData('1','2')">Click Here</a>
function getUserProfileData(userIds,userName){
alert("hi");
$.post("/gDirectory/bhanutest.htm",{ userIds: userIds, userName: userName } );
}
MyController
@RequestMapping(value="/gDirectory/bhanutest.htm" ,method=RequestMethod.POST)
public String bhanuTest(@RequestParam String userIds,String userName,Model model) throws Exception {
System.out.println("The userId is..:"+userId);
return "bhanuTest";
}
bhanuTest.jsp
调用我的jsp页面
每件事情都运转良好,但我的jsp页面没有打电话......任何人帮助我
答案 0 :(得分:0)
那是因为您正在使用ajax调用来访问您的控制器。因此,您返回的String是Ajax帖子作为响应接收的信息。
我知道两种方法可以做你想做的事情:
对于这两种方式,您必须在控制器中添加一个方法,如下所示:
@RequestMapping(value="/gDirectory/bhanutest.htm" ,method=RequestMethod.GET)
public String bhanuTest() {
return "bhanuTest";
}
第一个选项(javascript方式):
在$ .post中添加一个成功回调并重定向到“yourapplicationpath / gDirectory / bhanutest.htm”
$.post("/gDirectory/bhanutest.htm",{ userIds: userIds, userName: userName }, function(){
window.location.href = "yourapplicationpath/gDirectory/bhanutest.htm";
});
第二个选项(java方式):
修改你的控制器并向你的HttpServletRequest添加一个“sendRedirect()”方法调用,如下所示:
@RequestMapping(value="/gDirectory/bhanutest.htm" ,method=RequestMethod.POST)
public void bhanuTest(@RequestParam String userIds,String userName,Model model, HttpServletRequest httpServletRequest) throws Exception {
System.out.println("The userId is..:"+userId);
httpServletResponse.sendRedirect("/gDirectory/bhanutest.htm");
}
另一种方法是使用Html表单制作经典的Post,而不使用Ajax。