Comment passer un EL variable javascript
J'ai une variable ${bean.name}
comment puis-je passer à un javascript var? J'ai essayé var name = "${bean.name}"
et var name = ${bean.name}
mais il ne fonctionne pas.
mon idée est de le mettre dans un caché d'une entrée comme dans un caché <input id="test" type="text" value"${bean.name}">
var name = document.getElementById("test").value;
ce doen fonctionne pas, soit var name
devient la chaîne "${bean.name}"
note. je ne peux pas utiliser jstl
- êtes-vous essayer de passer pour un JSON JavaScript ou quelque chose?
- il fonctionne pour moi. ;), vous devez être plus précis sur la façon dont il ne fonctionne pas.
- Non, je ne pense pas que sa JSON
- il ne fonctionne pas comme je l'ai mon nom de variable devient la chaîne "${bean.nom}" et non pas la valeur réelle du haricot.nom
- êtes-vous de mettre le code dans un fichier statique (peut-être un .fichier js?) qui n'est pas analysé par le JSP interprète?
- value="<%= $(haricot.nom) %>"
- Qu'est-ce que le haricot.nom?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir JSTL évalué dans
.js
fichiers. Seulement dans.jsp
fichiers. (sauf si vous changez l'jsp servlet, mais je ne le conseille pas de le faire).La meilleure approche est de définir des variables dans le .jsp, y compris l' .js, et passer ces variables en tant qu'arguments d'initialisation de la fonction.
Assurez-vous également que vous n'avez pas
isELIgnored="true"
Assurez-vous que vous utilisez une Servlet 2.4 capable conteneur et que
web.xml
est déclaré en tant que Servlet 2.4 ou supérieur.De cette façon, EL va travailler dans le texte du modèle ainsi sans la nécessité de la JSTL
<c:out>
). Il a notamment introduit dans le Servlet 2.4 /JSP 2.0. Tomcat 5.5 est un exemple de Servlet 2.4 conteneur. Si votre conteneur prend en charge plus de servlet version de l'API, par exemple, 2.5 ou 3.0, vous devez déclarer leweb.xml
se conformer à la présente version de bénéficier de toutes les dernières fonctionnalités.Vous serez alors également être en mesure d'effectuer les opérations suivantes dans la page JSP:
Je pense que vous pouvez à l'aide de la fonction eval() ,juste comme suit:
si vous voulez passer un JavaBean à un js var ,vous pouvez surcharger la méthode toString ().
Un exemple de Bozho suggestion, de cette façon, j'ai travaillé facebook login.
Scénario:
J'ai une propriété en application.propriétés et j'ai besoin de cette valeur dans
facebook-login-sdk.js
initialiser facebook login. Donc, je l'ai lu en javaLoginController
via le code ci-dessous, puis de le lire danslogin.jsp
et affecter une variable globaleapplicationFacebookId
ensuite utiliser cette variable globale dansfacebook-login-sdk.js
fichier.REMARQUE IMPORTANTE : Lire nom de la variable applicationFacebookId avant de l'inclure facebook-login-sdk.js. Parce que vous allez utiliser une variable globale si vous voulez en faire avant facebook-login-sdk.js appelé.
application.propriétés
LoginController.java
de connexion.jsp
facebook-login-sdk.js