J'ai un modèle comme celui-ci:
@ModelAttribute("availableFonts")
public Map<String, String> getAllAvaliableFonts() {
...
}
Le modèle contient le nom de la police comme clé et le code css comme valeur. Maintenant, dans jsp, j'ai un code javaScript qui devrait appliquer dynamiquement css pour prévisualiser la police, qui ressemble plus / moins à ceci:
var css = '${availableFonts.get("Arial Black")}';
jQuery('#preview').removeClass().addClass(css);
Et cela fonctionne bien avec map.get () codé en dur. La valeur CSS est tirée de HashMap qui est le modèle dans mon jsp.
Mais j'ai besoin de cette clé de carte en tant que variable javaScript comme:
var key = 'Arial Black';
var css = '${availableFonts.get("' + key + '")}';
jQuery('#preview' + i).removeClass().addClass(css);
Et ça ne marche pas. Est-il possible de le faire en javaScript?
Il n'y a aucun moyen de le faire comme vous le souhaitez puisque JSP génère sur le serveur et JavaScript s'exécute sur le client. Ce que vous pouvez faire, c'est avoir votre attribut de modèle en tant que JSON, l'assigner à une variable JavaScript lors de la génération d'une page, puis utiliser cette variable JavaScript. Quelque chose comme
var myFonts = ${availableFonts};
var myFont = myFonts['some font'];
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots