2014-04-07 13 views
5

Ich habe ein Szenario, in dem ich Javascript varibable mit Java-Objekt in Scriptlet von JSP-Seite vergleichen muss. Wie kann ich JavaScript-Variable in der JSP Scriptlet bekommen oder die andere Möglichkeit wird auch für mich funktionieren (Arraylist-Objekt Wert in Javascript erhalten).erhalten Javascript Variablenwert in JSP Scriptlet

+0

Lesen Sie auf Ajax. Es ist offensichtlich, was Sie brauchen. Sie rufen Ihre JavaScript-Funktion auf, um ein Servlet aufzurufen, das eine Antwort zurückgibt. – developerwjk

+0

@developerwjk gibt es keine Notwendigkeit, Overhead mit Ajax hinzuzufügen, wenn es vermieden werden kann ... –

Antwort

-1

Wenn Sie eine Variable vom Server in JavaScript benötigen, verwenden Expression Language (diese Variable unter der Annahme, als Anforderung, Sitzung, Anwendung oder Seite Attribut gespeichert ist):

<%@taglib uri="http://example.com/functions" prefix="f" %> 

<!-- ... --> 

function showValues(str) { 
    var empListLength = ${empty empList ? 0 : fn:length(empList)}; 
} 

Wenn Sie eine Variable von JavaScript müssen in Ihrem Scriptlet, du hast kein Glück, das ist unmöglich. Die einzige Möglichkeit, eine Variable von einer externen Ressource abzurufen, ist ein Anforderungsparameter.


Ich lasse die Antwort Scriptlets direkt weil its usage is highly discouraged verwenden.

+0

@participantjava Nein, können Sie nicht. Sie müssen verstehen, dass Java auf der Serverseite ausgeführt wird, während JavaScript auf der Clientseite ausgeführt wird. Es wäre besser, wenn Sie erklären, was Sie erreichen wollen. –

-2

Javascript wird im Browser ausgeführt und JSPs werden auf dem Server ausgeführt. Deklarieren Sie die Java-Script-Variable Scriptlets und anschließend vergleichen im Browser:

var x = <% = str%>

Dann können Sie im Browser während der Ausführung des Javascript vergleichen. Abgesehen davon, dass Scriptlets nichts in JavaScript wissen, weil es im Broswer ausgeführt werden muss und zu diesem Zeitpunkt wurden die Scriptlets bereits ausgeführt und in HTML, Javascript oder CSS konvertiert.

5

Es ist möglich, jsp scriptlet zwei Möglichkeiten, JavaScript-Variablenwert zuzuweisen.

Erste Way Demo1.jsp

<script> 
    var name = "Gautam"; 
</script> 
<% 
    String str = "<script>document.writeln(name)</script>"; 
    out.println("value: " + str); 
%> 

Second Way Demo2.jsp

<html> 
<script> 
    function call() 
    { 
     var name = "Gautam"; 
     window.location.replace("Demo2.jsp?name=" + name); 
    } 
</script> 
<input type="button" value="Get" onclick='call()'> 
<% 
    String name = request.getParameter("name"); 
    if (name != null) 
    { 
     out.println(name); 
    } 
%> 
</html> 
+0

Der erste Weg funktioniert nicht: / –

-1

Wenn Sie eine Variable vom Server in JavaScript benötigen, verwenden Expression Language (ein Diese Variable wird als Anforderung, Sitzung, Anwendung oder Seitenattribut gespeichert):

Wenn Sie eine Variable von JavaScript in Ihrem scriptlet benötigen, ist es unmöglich. Die einzige Möglichkeit, eine Variable von einer externen Ressource zu erhalten, ist ein Anforderungsparameter

Verwandte Themen