使用jQuery在div中加载文件(taglib.tag)
我的问题是: 我想用jquery在一个div中通过点击按钮加载一个文件(test.tag) 代码如下:使用jQuery在div中加载文件(taglib.tag),jquery,jsp,load,taglib,Jquery,Jsp,Load,Taglib,我的问题是: 我想用jquery在一个div中通过点击按钮加载一个文件(test.tag) 代码如下: <%@ taglib prefix="test" tagdir="/WEB-INF/tags/desktop/test"%> <%@ taglib prefix="views" tagdir="/WEB-INF/views/desktop/test"%> <script type="text/javascript"> function changePage
<%@ taglib prefix="test" tagdir="/WEB-INF/tags/desktop/test"%>
<%@ taglib prefix="views" tagdir="/WEB-INF/views/desktop/test"%>
<script type="text/javascript">
function changePage(page) {
if(page!=null) {
$("#newPage") = $("#newPage").replaceWith('<div id="newPage" class="tab_content"></div>'); // to delete the previous content
$("#newPage").load("test:"+page+".tag");
$("#newPage").fadeIn();
}
return false;
}
</script>
<button onclick="changePage('test')">test</button>
<div id="newPage" class="tab_content"></div>
功能更改页(第页){
如果(第!=null页){
$(“#新页”)=$(“#新页”)。替换为(“”);//删除以前的内容
$(“#newPage”).load(“测试:+page+”.tag”);
$(“#newPage”).fadeIn();
}
返回false;
}
测试
我已经尝试输入一些html:
$("#newPage").html("<test:"+page+"></test:"+page+">");
$(“#newPage”).html(“”);
但也不管用
你能帮我吗^^ 我认为您混淆了客户机和服务器对自定义标记的评估。您完全可以使用javascript将
<mytaglib:tagname></mytaglib:tagname>
如果需要传递参数,请将其设置为自定义标记的属性,并将这些值作为ajax请求中的请求参数发送。例如:
<%@ taglib prefix="test" tagdir="/WEB-INF/tags/desktop/test"%>
<test:mytag pageId=${param.id}></test:mytag>
那么您正试图使用javascript将jsp自定义标记生成的html加载到您的页面中?确切地说^^^事实上,我已经可以使用jQuery显示不同的页面,但div与我想要显示的页面一样多。问题是,如果我想显示40个不同的页面,我需要40个div(将加载40个页面:/)。这就是为什么我想尝试动态加载^^^您可以使用ajax加载包含自定义标记代码的jsp的输出。为自定义标记的每次独特使用(不同的内容或属性)创建一个单独的jsp,然后使用适当jsp的url作为ajax url。您将获得由自定义标记生成的html,并使用jquery将其放入页面中。JSP可以很短,只有taglib声明和标记本身。下面是我现在尝试使用的代码:$.ajax({type:“POST”,url:“#”,context:$(“#newPage”),dataType:“html”,data:,processData:false});错误为“前缀为test的标记库中没有标记”:/
$.ajax({
type: "POST",
url: "/jsp1.jsp",
dataType:"html",
success: function(markup) {
$("#newPage").html(markup);
}
})
<%@ taglib prefix="test" tagdir="/WEB-INF/tags/desktop/test"%>
<test:mytag pageId=${param.id}></test:mytag>