Die übergabe eines servlet-Variablen in javascript

Ich bin auf der Suche passieren ein servlet variable myVar übergeben wird, in eine JSP-Seite, und übergeben es an JavaScript. JavaScript ist eine externe javascript enthalten ist, in die JSP-Seite.

Habe ich einen button, der ruft die JavaScript-Funktion, aber ich bin nicht in der Lage zu passieren, alle die Variablen, die übergeben werden in der JSP-Seite durch das servlet. Der button ist kein Teil der form.

Habe ich versucht in eine Funktion in JavaScript zu nennen:

var x = '<%=myVar%>';

UND

var x = '${myVar}';

UND

var x = '<%= (String)request.getParameter("myVar") %>';

Jedoch x ist immer ein string, was ich eingegeben.

Ich bin nicht mit AJAX oder JQuery. Irgendwelche Ideen?

Beispiel-Code ist eine vereinfachte version: (also die Taste ist eigentlich ein drop-down, ruft die js wenn ich den Wert ändern, allerdings möchte ich, dass andere Variablen, die nicht Teil der Dropdown aufgerufen werden, in changeCLass)

Servlet-Seite:

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 enthalten in JSP:

function changeClass(newVarX) {

    var newVarId =newVarX.value;
    var tID = '${otherVars}';

    alert(newVarId + " " + tID);
}

Ausgabe:
1 $(otherVars}

aber die Ausgabe sollte sein:
1-tests

ist dieser code stammt aus der externen Datei?
einfache Weg, es zu tun, ist das erstellen eines hidden-Feld, das den Wert speichert und es von dort aus. Ein anderer Weg ist die übergabe der Variablen in der js-Funktion als parameter <button onclick='someFunction(<%= (String)request.getParameter("myVar") %>)'> Call function</button>
Besser wäre es, zu erklären, wie die Anwendung verhält sich atm (mit code-Beispiel) um ein besseres Verständnis und eine bessere Lösung
"JavaScript ist eine externe javascript enthalten ist, in die JSP-Seite" - könnte Sie post von der JSP-zeigt, wie Sie diese Datei einschließen?
BTW ${otherVars} funktionieren nicht auf Ihre eigenen - Sie müssen mithilfe von c:oder einen ähnlichen tag-z.B. <c:out value="${otherVars}"/>

InformationsquelleAutor user1798546 | 2012-11-04

Schreibe einen Kommentar