2013-06-22 43 views
0

我是外部JavaScript文件(* .js)的新手。基本上我已經準備好了JSP,但是我的經理希望我在其中添加圖形。JSP和外部JavaScript文件之間的交互

所以我找到了一些* .js文件。但我不知道如何在他們和我的JSP頁面之間進行通信。

我想將數據從jsp傳遞到外部.js文件。 有沒有什麼機制可以做到這一點?

對於e.g: -

Demo.jsp

out.print(request.getAttribute("Name")); 

現在我想使用/ PASS /上述值main.js文件中設置該怎麼做?

回答

2
<script type="text/javascript"> 
    var myJavascriptVariable = <%= request.getParameter("Name")%>; 
            //or .getAttribute("Name") 
</script> 

這可能做的伎倆,就會使這可能在main.js.進行訪問的全局變量當你的GET參數,你也可以只使用JS:

var prmstr = window.location.search.substr(1); 
var prmarr = prmstr.split ("&"); 
var params = {}; 

for (var i = 0; i < prmarr.length; i++) { 
    var tmparr = prmarr[i].split("="); 
    params[tmparr[0]] = tmparr[1]; 
} 

現在,你可以通過在JS訪問參數:

params['name'] 

個人而言,我會使用AJAX(例如使用jQuery的幫助下)得到的數據爲我的JavaScript文件,你可以看看,在http://api.jquery.com/category/ajax/shorthand-methods/

0

你可以聲明一個全局的js變量並賦值。

<% String myValue = (String)request.getAttribute("Name"); %> 



    var global1 ='<%= myValue %>'; 
+0

你能更具體你可以得到。我的意思是......你上面提到的那行應該把它添加到.jsp文件中,然後我可以在任何.js文件中使用「global1」? – SRJ

+0

是的,變量應該是全局的,這些js文件應該添加到jsp文件中。 –

+0

非常感謝... – SRJ

1

如果您正在使用的.js文件你不能寫在它的JSP sriptlet。 如果您需要調用 .js文件中的值,有一種簡單的方法。
分配值以.jsp頁面輸入元素。(如果你不使用以.jsp頁值賦值隱藏輸入元素
然後include.js文件在您的.jsp頁
獲取值作爲javasript或jquery方法。

例如: -

value= document.getElementById("element_id").value 

OR如果您正在使用jQuery的

value = $("#element_id").val();