我正在使用Spring
锚点标签列表如下,我需要进行后调用,所以我使用了ajax查询。
<td><a href="#" onclick='doAjax(${taskDetail.taskId})'> ${taskDetail.taskTitle}</a></td>
在我的同一个jsp中我有ajax调用如下
function doAjax(x) {
alert(x);
$.ajax({
type: "POST",
url: "getTaskDetail",
data: { taskId: x }
}
})
}
现在我的控制器已经
了@RequestMapping(value = "/getTaskDetail", method = RequestMethod.POST)
public String getTaskDetail(@RequestParam String taskId, Model model) {
System.out.println("i am herer......");
try {
TaskDet taskDet = getTaskinformation(Integer.parseInt(taskId));
model.addAttribute("taskDet", taskDet);
return "showtaskpage";
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
现在我的&#34; showtaskpage&#34;本身就是.jsp页面。
现在的问题是,一切都像魅力一样,但是当它返回showtaskpage时,它没有在新的jsp页面中被渲染,我仍然在上一页,当我点击这个锚链接时,它会转到控制器并获得响应,但我将获得.jsp整页作为数据格式,我们可以使用firebug看到它。
我希望显示为http://localhost:8080/mydummy/showtaskpage
提前致谢。
答案 0 :(得分:3)
我修改如下
$.ajax({
type: "POST",
url: "getTaskDetail",
data: { taskId: x },
success : function(data) {
alert('success');
document.open();
document.write(data);
document.close();
}
})
现在我发生了什么,它将呈现为新的JSP页面。
答案 1 :(得分:0)
返回ModelAndView的方式
@RequestMapping(value = "/getTaskDetail", method = RequestMethod.POST)
public String getTaskDetail(@RequestParam String taskId, ModelAndView mav) {
System.out.println("i am herer......");
if (!user.isAuthenticated()) {
mav.setViewName("redirect:http://localhost:8080/mydummy/showtaskpage");
return mav;
}
mav.setViewName("showtaskpage");
mav.addObject("wxyz", listService.getLists());
return mav;
}
返回String的方式
@RequestMapping(value = "/getTaskDetail", method = RequestMethod.POST)
public String getTaskDetail(@RequestParam String taskId, ModelAndView mav) {
if (!user.isAuthenticated()) {
return "redirect:http://localhost:8080/mydummy/showtaskpage";
}
model.addAttribute("wxyz", listService.getLists());
return "showtaskpage";
}