2013-02-26 18 views
7

Java sınıflarımdaki statik değişkenlerim var CONSTANT_1, CONSTANT_2 ...
Bu sabitleri javascript işlevlerimle paylaşmanın en iyi yolu nedir ya da bunun için bir JQuery eklentisi varsa. Şu ana kadar düşünebildiğim tek çözüm, başlangıçta bu statik değişkenleri müşteriye göndermek için başlangıçta bir ajax çağrısıdır.Java ve Javascript arasındaki sabitleri nasıl paylaşacağım

Teşekkür

+0

aynı çözüm geldi aynı sorunu adresleme. – benzonico

+0

Neden sadece AJAX çağırıyor? Sunucudan istemciye HTML yanıtında veri gönderebilir ve bunları JS'de kullanabilirsiniz! – Apurv

+0

JSP sayfalarını kullanın .. – asifsid88

cevap

3
Ben en iyi yolu ya da değil bu, ama çalışıp çalışmadığını bilmiyorum

.

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

JSP kullandığını söylemedi. Aslında, ne kullandığını söylemiyordu, bu yüzden herhangi bir cevap anlamsız. – Cubic

+0

Ajax olarak bahsetti, bu yüzden yukarıdaki cevabı düşünelim :-) – Samy

+0

Aslında JSP kullanıyorum ama jsp'yi aynı dosyada jsp ile karıştırmaktan kaçınıyorum. –

0

Bu problemle daha önce karşılaştım. Yaptığım şey, sunucu tarafında erişebildiğim ve istediğim her şeyle değerini ayarlayabildiğim hidden giriş alanı olduğunu beyan ettim.

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

sonra programlama dili (ı C# kullanın) kullanarak:
hiddenInput.Value = ValueOnServerSide; 

Sonra ben istemci tarafında bu girişin değeri elde jQuery kullanarak.

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

gizli bir alanda bu statik değişkeni ayarlayabilirsiniz, o zaman bu gizli bir alan

<input type="hidden" value="<your static variable>" id="staticVariable" /> 
<script type="text/javascript"> 
    function getStaticField(){ 
     return document.getElementById("staticVariable").value; 
    } 
</script> 
0
Sen sayfayı yeniden tutmak istemiyorum eğer AJAX sabitlerin değeri elde çağrıları kullanabilirsiniz

. Eğer değer yalnızca Saniath'ın anlattıklarına yapabileceği tazelede güncellenmesi ile ince ise , gereksiz AJAX yapmıyor bu şekilde çağırır:

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