为什么我使用href链接时我的Jsp页面没有调用?

时间:2014-01-02 06:26:23

标签: jquery spring

我正在我的项目中工作春天。我点击链接时有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页面没有打电话......任何人帮助我

1 个答案:

答案 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。