2014-04-07 13 views
5

Ho uno scenario in cui ho bisogno di confrontare javascript varibable con l'oggetto java all'interno dello scriptlet della pagina jsp. Come posso ottenere la variabile javascript nello script jsp o l'altro modo funzionerà anche per me (ottenendo il valore dell'oggetto arraylist in javascript).ottieni il valore della variabile javascript in jsp scriptlet

+0

Leggere su Ajax. È ovviamente quello di cui hai bisogno. Fai in modo che la tua funzione Javascript chiami un servlet che restituisce una risposta. – developerwjk

+0

@developerwjk non è necessario aggiungere overhead utilizzando ajax quando può essere evitato ... –

risposta

-1

Se avete bisogno di una variabile dal server in JavaScript, utilizzare Expression Language (supponendo che questa variabile viene archiviato come richiesta, sessione, applicazione o un attributo page):

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

<!-- ... --> 

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

Se avete bisogno di una variabile JavaScript nel scriptlet, sei sfortunato, questo è impossibile. L'unico modo per ottenere una variabile da una risorsa esterna è come parametro di richiesta.


Tralascio la risposta utilizzando scriptlets direttamente a causa its usage is highly discouraged.

+0

@participantjava no, non è possibile. È necessario comprendere che Java viene eseguito sul lato server mentre JavaScript viene eseguito sul lato client. Sarebbe meglio se spiegassi cosa stai cercando di ottenere. –

-2

Javascript viene eseguito nel browser e JSP vengono eseguiti sul server. Dichiarare la variabile di java script utilizzando scriptlets e quindi confrontare sul browser:

var x = <% = str%>

Quindi è possibile confrontare nel browser durante l'esecuzione del javascript. Oltre a ciò gli scriptlet non sono a conoscenza di qualcosa in JavaScript perché deve essere eseguito nel broswer e da quel momento gli scriptlet sono già stati eseguiti e convertiti in html, javascript o css.

5

È possibile, in due modi, assegnare il valore della variabile javascript allo script jsp.

primo modo Demo1.jsp

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

Secondo Modo 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

Il primo modo non funziona: / –

-1

Se avete bisogno di una variabile dal server in JavaScript, utilizzare Expression Language (un Questa variabile viene memorizzata come attributo di richiesta, sessione, applicazione o pagina):

Se è necessaria una variabile da JavaScript nel numero scriptlet, è impossibile. L'unico modo per ottenere una variabile da una risorsa esterna è come parametro di richiesta

Problemi correlati