如何获取javascript内的spring mvc控制器模型键值?

时间:2013-04-25 05:05:16

标签: javascript spring jsp jquery spring-mvc

我正在使用spring mvc控制器。在内部控制器我正在放一些值让我们说模型中的字符串。现在我想重温那个值,或者只是说在javascript中打印这个值。我该怎么做? 这是我的控制器类。我正在添加“电影”作为关键。现在我想在java脚本中显示该电影的名称(不在JSP内部。但在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";

    }

}

这是我的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>

3 个答案:

答案 0 :(得分:18)

使用此:

var movie_name = "${movie}";

而不是:

var movie_name = ${movie};

使用${movie}时,该值会在没有引号的页面上放置。由于我猜它是一个字符串,Javascript要求字符串被引号括起来。

如果您检查了浏览器的控制台,则可能会看到Unexpected identifier___ is not defined之类的错误。

答案 1 :(得分:1)

试试这个......

如果您已将对象添加到模型中:

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

然后,您将模型对象的属性视为

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

答案 2 :(得分:0)

<html>
jsp code ...

<script>

some js code ..
..
var formProperty = <c:out value="${fromBean.property}" />

</script>

..

</html>

这对我有用,其中formBean是表单支持对象的名称,属性是表单类的文件