2013-02-26 60 views
7

我在我的java類中有靜態變量CONSTANT_1,CONSTANT_2 ...
什麼是與我的JavaScript函數共享這些常量的最佳方式,或者是否存在用於此的JQuery插件。直到現在,我能想到的唯一解決方案就是在開始時調用ajax,將這些靜態變量發送給客戶端。如何在Java和Javascript之間共享常量

謝謝

+0

解決,我們用相同的解決方案提出了同樣的問題。 – benzonico 2013-02-26 12:11:42

+0

爲什麼只有AJAX調用?您可以通過HTML響應將數據從服務器發送到客戶端,並在JS中使用它們! – Apurv 2013-02-26 12:11:46

+0

使用JSP頁面。 – asifsid88 2013-02-26 12:12:20

回答

3

我不知道這是否最好的方式,但它的工作原理。

var constant1=<%=class.CONSTANT_1%>; 
+0

他沒有說他正在使用JSP。事實上,他並沒有說他使用的是什麼,所以任何答案都是毫無意義的。 – Cubic 2013-02-26 12:23:09

+0

他提到了Ajax,所以我們可以考慮上面的答案:-) – Samy 2013-02-26 12:30:47

+0

實際上我使用JSP,但是我避免在同一個文件中將jsp與js混合在一起。 – 2013-02-26 12:36:26

0

我以前遇到過這個問題。我所做的只是我宣佈hidden輸入字段,我可以在服務器端訪問並設置它的值與我想要的。

<input type="hidden" runat="server" id="hiddenInput" /> 

然後使用的編程語言(我使用C#):

hiddenInput.Value = ValueOnServerSide; 

然後使用jQuery我得到的客戶端此輸入的值。

$("[id$='hiddenInput']").val(); 
1

您可以設置在一個隱藏字段此靜態變量,那麼你可以使用JavaScript這個隱藏字段

<input type="hidden" value="<your static variable>" id="staticVariable" /> 
<script type="text/javascript"> 
    function getStaticField(){ 
     return document.getElementById("staticVariable").value; 
    } 
</script> 
0

可以使用AJAX調用來獲取常量的值,如果你不想讓重新加載頁面。 如果你是價值僅更新上刷新你可以做什麼Sainath告訴罰款,這樣,你不作無謂的AJAX調用:

var constant1=<%=class.CONSTANT_1%>; 
相關問題