Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery在div中加载文件(taglib.tag)_Jquery_Jsp_Load_Taglib - Fatal编程技术网

使用jQuery在div中加载文件(taglib.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

我的问题是: 我想用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>

功能更改页(第页){
如果(第!=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>