2017-07-25 21 views
-4

Ich suche nach einer viel besseren Möglichkeit, eine Javascript-Variable in einer JSP zu setzen. Ich mag versteckte Eingaben nicht, um Daten zu Javascript zu übertragen. Gibt es eine bessere Lösung, die Sie sich vorstellen können?JSP JavaScript-Variable ohne versteckte Eingabe setzen

Derzeit auf mein Projekt werden JavaScript-Variablen über JSP auf diese Weise behandelt:

<input id="javaValue" type="number" value="${JAVA_VARIABLE}" class="hidden"> 

Wo in der Javascript (jQuery) wir wie folgt vor:

var valueFromServer = $("#javaValue").val(); 

aber ich fühle mich wie dieser Ansatz ist irgendwie ... unelegant. Es verursacht auch ein Problem mit der Art und Weise, wie mein Projekt die 508-Konformität handhabt, da WAVE diese Felder auffassen wird und die Entwickler dann Etiketten hinzufügen müssen. Ich suche nach einem besseren Weg. Ich bin bereits Kenntnis von Variablen in ihrem eigenen Mini-Script-Tag Einstellung wie so:

<script> value=${JAVA_VARIABLE} </script>

Gibt es irgendwelche Nachteile Ich bin nicht mit diesem Ansatz zu sehen? Dies scheint die sauberste und einfachste Lösung zu sein.

Ich bin mir auch bewusst, ich kann sie direkt auf das Modell und greifen sie mit jQuery. Das scheint wie ein besserer Ansatz als Option 1, jedoch gibt es irgendwelche Einschränkungen oder Probleme, die aus dieser Art von Ansatz entstehen könnten ?:

<span id="javaValue" data-value=${JAVA_VARIABLE}>

Hat jemand irgendwelche Ideen/Meinungen zu diesen Ansätzen?

+0

Kann die Seite nur den Wert direkt in JavaScript-Code ausgeben? Hast du es versucht? – David

Antwort

0

Sie könnten eine globale Variable direkt wie folgt setzen.

<script> 
    var date = '<%= new Date().toString() %>'; 
    console.log(date); 
<script>