java - JSP 中的 Rhino 变量

标签 java javascript jsp 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”变量工作正常,这对我来说是有意义的。

有人知道我在这里做错了什么吗?

最佳答案

不,无法直接访问它。您必须使用 JSP 标记才能获得它。类似于 <%= foo %>.

有一个教程 here .

现在我重新阅读并看到您正在函数中执行此操作。使用上面的应该仍然有效。然而,将值传递到函数中并将 JSP 保留在函数声明之外可能是更好的做法。

关于java - JSP 中的 Rhino 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5124378/

相关文章:

java - Selenium 从下拉列表中选择值

JavaScript 删除对象键值对中的数组括号

javascript - 用于加载 html 页面的 html/javascript 代码

java - 如何防止JSP中的SQL注入(inject)?

java - JSP 表单正在选择 FireBug 中编辑的值

java - 如何在 IBM WebSphere 7.0 中的所有应用程序中更改 .jsp 处理错误页面

java - Play 框架中的 onError() 之后没有发送任何结果

java - Jackson 2 和 Spring Autowired bean

javascript - 如何在 JavaScript 中生成键值反转对象?

java - 如何检查 HttpServletResponse 对象是否有效