9

我正在使用弹簧 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>
4

3 回答 3

18

用这个:

var movie_name = "${movie}";

代替:

var movie_name = ${movie};

使用 时${movie},该值被放置在页面上,不带引号。因为我猜它是一个字符串,所以 Javascript 要求字符串用引号引起来。

如果您检查浏览器的控制台,您可能会看到类似Unexpected identifieror的错误___ is not defined

于 2013-04-25T05:11:26.533 回答
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};
于 2014-02-25T13:56:23.810 回答
0
<html>
jsp code ...

<script>

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

</script>

..

</html>

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

于 2020-09-23T09:54:04.573 回答