2012-04-13 11 views
0

Ich habe das schon oft versucht, aber nicht in der Lage, dies zu tun. Zuerst lass mich meinen Code eingeben. ::Der Wert einer Variablen in JavaScript kann nicht verwendet werden, um einer Java-Variablen einen Wert zuzuweisen.

<script type="text/javascript"> 
function delemp(v){ 
    alert(v); 
    <% 
    String abc=%>v<%; 

    %> 
out.println(abc); 
} 

</script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
var h= "Shantanu"; 
delemp(h); 
}); 
</script> 

In dem obigen Code. Ich rufe delemp(h); an. Dies sollte der Variablen abc. den Wert "Shantanu" zuweisen und diesen Wert dann ausdrucken. Aber ich kann das nicht machen. Wenn ich den Scriptlet-Teil kommentiere und nur alert(v) ausfühle gibt es mir das ist Wert, der zur Funktion delemp(v) übergeht. Aber nicht zu abc zuweisen. Es gibt mir einen Fehler:

Type Mismatch: cannot convert from Void to string. 

Wo ist das Problem? Danke ..

+0

Java ist nicht meine Sprache, aber ich hätte gedacht, dass dies vor jedem Aufruf der JS-Funktion kompiliert wird, so dass es nicht möglich ist, Wert in Java von JS – GillesC

+0

@ gillesc Ich brauche js Variable v in Java-Code (Scriptlets) .. Gibt es etwas, was ich tun kann. ? Irgendein Ausweg ... Ich habe diesen Link .. Sehen Sie die Antwort hier .. Was ist der Unterschied zwischen diesem und meinen Fragen. http://stackoverflow.com/questions/9923702/assign-javascript-variable-to-jsp-code –

Antwort

1

Sie können dies nicht tun. Die Skriptlets werden auf dem Server ausgeführt, bevor die Seite geladen wird, aber Javascript - auf dem Client. Wenn Sie Ihre js ausführen, haben Sie bereits das Ergebnis der Auswertung der Scriptlets und es konnte nicht mit js geändert werden.