Czekam na przekazanie zmiennej serwletu, myVar, która jest przekazywana na stronę JSP i przekazuje ją do JavaScript. JavaScript jest zewnętrznym javascriptem, który jest zawarty na stronie JSP.Przekazywanie zmiennej serwletowej do javascript
Mam przycisk, który wywołuje funkcję JavaScript, ale nie mogę przekazać żadnej z zmiennych, które są przekazywane do strony JSP za pośrednictwem serwletu. Przycisk nie jest częścią formularza.
Próbowałem w funkcji w JavaScript zadzwonić:
var x = '<%=myVar%>';
I
var x = '${myVar}';
I
var x = '<%= (String)request.getParameter("myVar") %>';
jednak x
jest zawsze ciągiem co ja wprowadzane .
Nie używam AJAX ani JQuery. Jakieś pomysły?
Przykładowy kod jest wersją uproszczoną: (w związku z tym przycisk jest tak naprawdę rozwijanym, który wywołuje js podczas zmiany wartości, jednak chcę, aby inne zmienne, które nie są częścią listy rozwijanej, zostały wywołane w changeCLass) boczna
serwletów:
request.setAttribute("otherVars","tests");
JP:
<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 włączone JSP:
function changeClass(newVarX) {
var newVarId =newVarX.value;
var tID = '${otherVars}';
alert(newVarId + " " + tID);
}
wyjściowa: 1 $ (otherVars}
ale wyjście powinno być: 1 Testy
jest ten kod pochodzi z pliku zewnętrznego? – rano
@ user1798546 Prostym sposobem na zrobienie tego jest utworzenie ukrytego pola, które przechowuje wartość i przechodzenie od niej. Innym sposobem jest przekazanie zmiennej do funkcji js jako parametr '' –
Byłby to lepiej wyjaśnić, jak aplikacja zachowuje się w atm (za pomocą przykładowego kodu), aby lepiej zrozumieć i zapewnić lepsze rozwiązanie. –