2013-11-01 47 views
0

我在使用jQuery的引导标签中动态地创建标签。这是与事件jQuery里面的JSTL

到了这里更清晰的外观引发的是我在做什么:

$('.tab-content').append('<div class="tab-pane" id="tab_' + id + '"> </div>'); 

现在<div>内,我会写一长HTML,所以我认为这可能是凌乱如果我在jQuery中编写所有代码。所以,我决定做一个外部文件,并使用JSTL导入并写jQuery代码内导入:

$('.tab-content').append('<div class="tab-pane" id="tab_' + id + '"> <c:import url="flt-pis.html"></c:import> </div>'); 

JSTL的<c:import url="flt-pis.html"></c:import>似乎不工作,我不知道为什么。有没有其他方法?

+0

您需要为了运行你的servlet容器/应用服务器上的应用JSTL的工作 - 是你这样做?您可以使用jquery加载函数,因为该页面似乎位于同一个域中。 http://api.jquery.com/load/ – Zyga

+0

@Zyga感谢您的回复。我在jQuery中相当新手,所以,你能给我一个清晰的看法,说明你想说什么吗? – newbie

回答

0

jstl运行服务器端。 javascript客户端。这不起作用。

您可以在jsp页面中引用嵌入式JavaScript中的jstl - 将文本输出到服务器端的js。

+0

有没有解决这个问题?我只想将其余的代码放在'.js'文件之外。 – newbie

0

就像之前提到的那样,你不能在客户端运行JSTL。

鉴于页面在同一个域上(并且它的声音),您可以使用jQuery的“加载”功能将HTML从外部文件放入新创建的div中。

例如,在你执行这个

$('.tab-content').append('<div class="tab-pane" id="tab_' + id + '"> </div>'); 

然后你可以这样做:

$("#tab_"+id).load("flt-pis.html"); 
+0

它不起作用。在添加“tab-pane”后,我在下一个版本中添加了它。它不加载页面。 – newbie