这是我的问题: 我想在按钮点击时使用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(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>
我已经尝试输入一些html:
$("#newPage").html("<test:"+page+"></test:"+page+">");
但也没有用。
你能帮帮我吗? ^^答案 0 :(得分:0)
我认为您对自定义标记的客户端与服务器评估感到困惑。你绝对可以使用javascript来放置
<mytaglib:tagname></mytaglib:tagname>
在客户端进入你的DOM,但它将成为#newPage的文字内容。自定义标签在服务器端进行评估。当javascript在客户端执行时,你不再在jsp领域,你在html中。
jsp1.jsp :
<%@ taglib prefix="test" tagdir="/WEB-INF/tags/desktop/test"%>
<test:page1></test:page1>
您可以像这样加载:
$.ajax({
type: "POST",
url: "/jsp1.jsp",
dataType:"html",
success: function(markup) {
$("#newPage").html(markup);
}
})
如果需要传递参数,请将它们作为自定义标记的属性,并将这些值作为请求参数发送到ajax请求中。例如:
<%@ taglib prefix="test" tagdir="/WEB-INF/tags/desktop/test"%>
<test:mytag pageId=${param.id}></test:mytag>