BirdsHover

——路漫漫其修远兮,吾将上下而爬楼梯!

  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  21 随笔 :: 8 文章 :: 34 评论 :: 0 Trackbacks

必须jre6才行,要不需要用开源库了

package script;

import javax.script.*;
/**
 * Java调用JavaScript示例
 * 
 * 
@author Birdshover
 *
 
*/
public final class scriptMaster {
    
/**
     * 运行指定脚本
     * 
@return 返回脚本值
     
*/
    
public int run() {
        ScriptEngineManager m 
= new ScriptEngineManager();
        ScriptEngine engine 
= m.getEngineByExtension("js");
        
try{
            engine.eval(
"var t=1;t++;");
            engine.eval(
"t++;");
        }
catch(ScriptException ex){
            
return -1;
        }
        Float val 
= Float.parseFloat(engine.get("t").toString());
        
return val.intValue();
    }
}

java调用javascript,而javascript内部又调用了java的类库。
    public String now(){
        ScriptEngineManager m 
= new ScriptEngineManager();
        ScriptEngine engine 
= m.getEngineByExtension("js");
        
try{
            engine.eval(
"var t= new java.util.Date();");
        }
catch(ScriptException ex){
            
return (new Date()).toString();
        }
        
return engine.get("t").toString();
    }
posted on 2009-01-13 17:41 Birdshover 阅读(2935) 评论(4)  编辑  收藏

评论

# re: java 调用javascript脚本(jre6) 2009-01-13 17:42 Birdshover
字符“3.0”不能直接转换成int,非要先转成float,很弱智。  回复  更多评论
  

# re: java 调用javascript脚本(jre6) 2009-12-31 09:32 324
请问一下LZ JAVA调用JAVASCRIPT有什么意义呢?  回复  更多评论
  

# re: java 调用javascript脚本(jre6) 2010-01-05 13:08 cyx
@324
当有一段很复杂的js算法,你不想花太长时间去研究它,那可以直接用java执行js,取得结果。  回复  更多评论
  

# re: java 调用javascript脚本(jre6) 2010-01-16 20:04 波波族yuan
我想问问前辈:我模拟浏览器来解读 javascript 我该怎么做 ,比如说我在html引用了 一个js文件 <input type='button' onclick='exemoth();'/>
这个执行的方法exemoth()方法在js文件里在,我该怎么做 我的qq 331815773 非常希望和你讨论  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: