目标:根据用户点击动态将不同的jsp加载到main.jsp
的div中。
这是我到目前为止所做的 -
function getPageContent( pageName, containerID, path ){
$.ajax({
type : "GET",
url : "getPageContent/"+pageName+".test",
cache : false,
data: "path=" + path,
success : function(response) {
alert(response);
$("#"+containerID).load( response );
},
error: function(xhr, status, error) {
alert(xhr.responseText);
}
});
}
@RequestMapping(value="getPageContent/{pageName}")
public String dynamicIncludePage( ModelMap model, @PathVariable String pageName,
@RequestParam(value="path") String path, HttpSession session ){
if( pageName.equals("manageDashBoard") ){
List<Report> reports = reportService.getAllReportsByUserID( (int)session.getAttribute("userID") );
model.addAttribute("reports", reports);
}
return path+"/"+pageName;
}
我正在调用JS方法
getPageContent( 'manageDashBoard', 'containerID', 'home' );
manageDashBoard.jsp
的路径是 - &gt; EVIP14ReportSS\src\main\webapp\WEB-INF\views\home\manageDashBoard.jsp
但春天正试图在下面的路径中找到jsp - &gt; EVIP14ReportSS\getPageContent\WEB-INF\views\home\manageDashBoard.jsp
请说明出了什么问题。
由于
答案 0 :(得分:0)
我不确定你的路径是否正确。无论如何你应该检查一下。 但是你肯定应该改变使用AJAX和Spring渲染页面的方式。 您应该将返回类型从String更改为
public @ResponseBody JsonObjectToRender dynamicIncludePage( ModelMap model, @PathVariable String pageName,
@RequestParam(value="path") String path, HttpSession session )
JsonObjectToRender是具有一些属性的自定义对象。在成功处理程序JsonObjectToRender中,您应该根据该对象分析和呈现页面的一部分。