代码之家  ›  专栏  ›  技术社区  ›  Koerr

如何在java中获取javascript变量?(比如javascript解析器?)

  •  1
  • Koerr  · 技术社区  · 16 年前

    相似代码:

    public static void main(String[] args) throws Exception {
        String content="<HTML>"
         +"<HEAD><TITLE>title</TITLE></HEAD>"
         +"<BODY>"
         +"<script>var jsvar=123;</script>"
         +"</div>"
         +"</BODY>"
         +"</HTML>"
        ;
    }
    

    在这种情况下,如何获得 jsvar

    感谢您的帮助:)

    3 回复  |  直到 16 年前
        1
  •  2
  •   Marimuthu Madasamy    16 年前

    如果您想在Java中执行JavaScript代码,可以使用Java6的脚本API,并且Java6包含在Mozilla Rhino引擎中。

    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
    jsEngine.eval("jsvar = 123");
    System.out.println(jsEngine.get("jsvar")); //prints 123.0
    

    参考文献: http://download-llnw.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html

        2
  •  0
  •   Ollie Edwards    16 年前

    在我看来,这是落后的。如果您正在为页面提供服务,那么您已经在服务器上拥有了该值。我将把Java的值注入JavaScript,而不是相反。

        3
  •  0
  •   Riduidel    16 年前

    HtmlUnit ,可以解决你的问题。

    不过,你是直接跑的吗 纯净的 Rhino (我想)。