Bir JSP sayfasına aktarılan bir uygulama değişkeni, myVar geçirip JavaScript'e aktarıyorum. JavaScript, JSP sayfasına dahil edilen harici bir javascripttir.Bir sunucu değişkeni javascript'e aktarılıyor
JavaScript işlevini çağıran bir düğme var, ancak JSP sayfasına aktarılan değişkenlerden hiçbirini sunucu aracılığıyla geçiremiyorum. Düğme bir formun bir parçası değildir.
arayacağımı JavaScript işlevi denedim:
var x = '<%=myVar%>';
VE
var x = '${myVar}';
VE Ancak
var x = '<%= (String)request.getParameter("myVar") %>';
, x
hep girilen şeyin bir dizedir .
AJAX veya JQuery kullanmıyorum. Herhangi bir fikir?
Örnek Kod, basitleştirilmiş bir sürümdür: (bu değeri değiştirdiğimde js olarak adlandırılan düğme aslında bir açılır menüdür, ancak, changeCLass içinde çağrılacak aşağı açılan bölümün diğer değişkenlerini istiyorum)
Servlet tarafı:
request.setAttribute("otherVars","tests");
JSP:
<script type="text/javascript" src="external.js"></script>
<select name="vars" id="myVars" onchange="changeClass(this)">
<option value='1' selected="selected">1</option>
</select>
external.js JSP şunlardır:
function changeClass(newVarX) {
var newVarId =newVarX.value;
var tID = '${otherVars}';
alert(newVarId + " " + tID);
}
Çıktı: 1 $ (otherVars}
ancak çıkış olmalıdır: 1 testleri
harici dosyadan alınan bu kodudur? – rano
@ user1798546 bunu yapmanın basit bir yolu, değeri depolayan ve oradan alan gizli bir alan yaratmaktır. Başka bir yol ise değişken olarak js fonksiyonuna parametre ')'> Arama fonksiyonu' –
Uygulamanızın daha iyi anlaşılması ve daha iyi bir çözüm sunması için atm (kod örneği ile) nasıl davrandığını açıklamak daha iyi –