0

这是我的问题:我想在单击按钮时使用 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+">");

但也没有用。

你能帮助我吗?^^

4

1 回答 1

1

我认为您混淆了自定义标签的客户端与服务器评估。你绝对可以用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>
于 2013-05-23T13:48:23.563 回答