我有一个包含页眉,页脚,左侧面板和主要内容的主页面。我想点击左侧面板动态更改主要内容。为此,我使用ajax调用,ajax将调用控制器,控制器将返回jsp,我将替换主要内容。
但我面临的问题是,如果我使用的是纯粹的html编码,那么我正在获得正确的jsp,但是如果我使用spring形式则无法正常工作。
我是否需要在所有jsp中或仅在Dashboard jsp中声明taglib。
1)如果我在所有子jsp中声明taglib然后它不起作用我不声明然后表单:输入不渲染到html
2)我们可以在ajax调用中返回jsp以替换主内容,因为here它只能在ajax调用中使用@ResponseBody(JSON)。
3)我正在使用ajax调用,因为我不想重新加载我的所有页眉,页脚和左侧面板,因为它们将始终保持相同。
Ajax代码
<script type="text/javascript">
$(".ldMainContent").click(function(){
var actionName = this.id;
actionName = "${pageContext.request.contextPath}/sadmin/forward/"+actionName;
$.ajax({
url:actionName,
type:"POST",
data:"URL",
success:function(result){
$("#mainContent").html(result);
}
});
});
</script>
我在设计中使用bootstrap
答案 0 :(得分:2)
可以使用jQuery的load方法加载内容。
代码将是
$(".ldMainContent").click(function(){
var actionName = this.id;
actionName = "${pageContext.request.contextPath}/sadmin/forward/"+actionName;
$("#mainContent").load(actionName);
})
在您的控制器中没有@ResponseBody
它用于将对象作为JSON或XML返回。控制器应返回JSP页面的视图,该视图应仅包含mainContent
内所需的内容。
我是否需要在所有jsp中或仅在Dashboard jsp中声明taglib。
是的,您必须声明使用标签的jsp文件的taglib。