现在的位置: 首页 > 综合 > 正文

java执行javascript

2013年01月12日 ⁄ 综合 ⁄ 共 670字 ⁄ 字号 评论关闭
package org.script;

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class ScriptEngineManagerDemo {
	
	
	
	public static void main(String[] args) {
		ScriptEngineManager sem = new ScriptEngineManager();    /*script引擎管理*/
        ScriptEngine se = sem.getEngineByName("javascript");           /*script引擎*/
        try {
        	
        	se.eval(" var strname = 'Key' ") ;                     /* 执行一段script */
        	
        	se.eval("function sayHello(   ) { "  
                    + " print('Hello '+strname+'!');return 'my name is '+strname;" + "}");   /* 添加一个方法*/
        	
        	Invocable invocableEngine = (Invocable) se ; 
            String callbackvalue=(String) invocableEngine.invokeFunction("sayHello" );   /*调用方法中的函数*/
            System.out.println( callbackvalue ) ;              /** 打印返回值*/
            
            
		} catch (Exception e) { 
			e.printStackTrace();
		}  
        
	}
}

输出结果:

抱歉!评论已关闭.