Comment obtenir la valeur de la clé de modèle du contrôleur mvc de printemps dans javascript?

J'utilise un contrôleur mvc à ressort. Dans le contrôleur intérieur, je met une certaine valeur, disons la chaîne à l'intérieur du modèle. Maintenant, j'aimerais récupérer cette valeur ou simplement dire imprimer cette valeur dans un javascript. Comment fait-on ça? Voici ma classe de contrôleur. J'ajoute "movie" comme clé. Maintenant, je souhaite afficher ce nom du film à l'intérieur du script java (Pas dans JSP. Cependant Inside JavaScript)

@Controller @RequestMapping("/movie") public class MovieController { @RequestMapping(value="/{name}", method = RequestMethod.GET) public String getMovie(@PathVariable String name, ModelMap model) { model.addAttribute("movie", name); return "list"; } } 

Voici mon JSP

 <html> <head> //I want to print movie name inside java script not inside jSP body tag. <script type="text/javascript"> var movie_name = ${movie}; alert("movies name"+ movie_name); </script> </head> <body> <h3>Movie Name : ${movie}</h3>//When i print here its working fine. </body> </html> 

Utilisez ceci:

 var movie_name = "${movie}"; 

au lieu de:

 var movie_name = ${movie}; 

Lorsque vous utilisez ${movie} , la valeur est placée sur la page sans guillemets. Comme je suppose que c'est une chaîne, Javascript exige que les chaînes soient entourées de guillemets.

Si vous avez vérifié la console de votre navigateur, vous avez probablement constaté une erreur comme Unexpected identifier ou ___ is not defined .

Essaye ça…

Si vous avez ajouté l'objet dans le modèle comme suit:

 model.addAttribute("someObject", new Login("uname","pass")) 

Ensuite, vous obtenez les propriétés de l'objet modèle comme

 var user_name = ${someObject.uname}; // This is assuming that the Login class has getter as getUname(); var user_pass = ${someObject.pass};