2015-09-26 176 views
3

是否可以在jsp标签里面运行javascript函数? 我想运行一个突然的函数,因为我的ArrayList中有对象。下面doesen't工作,但我希望它提供了我想要实现的想法。在jsp里面运行javascript函数

<script> 
    function test(){ 
     alert(); 
    } 
    </scripts> 


<% 
ArrayList<Marker> list = new ArrayList<Marker>(); 

list = (ArrayList<Marker>)request.getAttribute("markers"); 

for(int i = 0; i < list.size(); i++){ 
    %> 
     <script> 
     <% 
     test(); 
     %> 
     </script> 
    <% 
} 
%> 

是否有可能使用类似的东西呢?

<c:forEach var="name" items="${markers}"> 
    <%-- call my javascript function --%> 

</c:forEach> 
+0

你大概的意思是'测试( '<%= list.get(I)。名称%>')' – dimakura

+0

是的,它可以完成,但为此,你必须包括脚本标签 – brk

+0

我尝试使用脚本标签,但没有运气。你能告诉我做错了什么吗? – JonCode

回答

5

下面代码中的修正将正常工作为你

<script> 
    function test(){ 
     alert("Hello"); // added sample text 
    } 
</script> 


<% 
ArrayList<Marker> list = new ArrayList<Marker>(); 

list = (ArrayList<Marker>)request.getAttribute("markers"); 

for(int i = 0; i < list.size(); i++){ 
    %> 
     <script> 
     test(); //No need to put java script code inside scriptlet 
     </script> 
    <% 
} 
%> 
+0

非常感谢! – JonCode

1
<% 
ArrayList<Marker> list = new ArrayList<Marker>(); 

list = (ArrayList<Marker>)request.getAttribute("house"); 

for(int i = 0; i < list.size(); i++){ 
    %> 
     <script> 
     test('<%= list.get(i).name %>'); 
     <script> 
    <% 
} 
%> 
<script> 
    function test(i){ 
     alert(i); 
    } 
</script> 
+0

这并不适合我。 – JonCode