JSP中的java Rhino变量
我的jsp中有以下内容:
<%
Scriptable scope = Context.enter().initStandardObjects();
scope.put( "foo", scope, Context.toObject( "foo", scope ) );
%>
<script type="text/javascript">
function doSomething() {
// this works fine, so I can tell Rhino is working to some extent
var now = new Packages.java.util.Date();
alert(now);
// but this comes back as an undefined variable - why?
alert(foo);
}
</script>
我完全困惑了——我认为通过将字符串值(“foo”)放在默认范围内,我可以在javascript上下文中看到它,但我不能。如果不是因为'now'变量工作正常,这对我来说是有意义的
有人知道我做错了什么吗
# 1 楼答案
不,不能直接访问。您必须使用JSP标记才能访问它。类似于<;%=foo%>
有一个教程
现在我重读一遍,看到你们在函数中这样做。使用上述方法仍然有效。然而,将值传递到函数中并将JSP排除在函数声明之外可能是更好的做法