• JAVA转让JS功能


    今天,在发展中使用js和Java互动。通常我们使用更多的是js转让Java方法。可以使用dwr、Ajax、jquery。突然发现Java转让js然后,我真的没见过,今天,互联网提供以下信息,顺便总结:

    条件:jdk1.6支持。1.6一旦死。

    js代码例如以下:

    function convert (id,str)
    {
    	if ('505041'==id)
    	{
    		return str;
    	}
    	else
    	{
    		return "A";
    	}
    }


     

    Java代码例如以下:

    package com.sc;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    
    import javax.script.Invocable;
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    
    public class JsTest {
    
    	
    	public static void main(String[] args) throws Exception { 
            testJSFile(); 
        } 
      
        private static void testJSFile() throws Exception { 
            ScriptEngineManager mgr = new ScriptEngineManager(); 
            ScriptEngine engine = mgr.getEngineByName("javascript"); 
            engine.eval(readJSFile()); 
            Invocable inv = (Invocable) engine; 
            Object res = (Object) inv.invokeFunction("convert", new String[] { "5050412", "D" }); 
            System.out.println("res:" + res); 
        } 
      
        private static String readJSFile() throws Exception { 
            StringBuffer script = new StringBuffer(); 
            File file = new File("E:\workspace\test4\WebRoot\test.js"); 
            FileReader filereader = new FileReader(file); 
            BufferedReader bufferreader = new BufferedReader(filereader); 
            String tempString = null; 
            while ((tempString = bufferreader.readLine()) != null) { 
                script.append(tempString).append("
    "); 
            } 
            bufferreader.close(); 
            filereader.close(); 
            return script.toString(); 
        }
    }
    


     

    在Java类中直接run就能够得到例如以下结果:

    res:A

    在此录制。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    内部类
    三大修饰符:static、final、abstract
    面向对象三大特性
    类和方法
    Vue-创建工程+element UI
    xshell连接虚拟机较慢问题 -----已解决
    Hbase配置
    Hive的安装配置
    Hive内容+配置
    Redis全局命令
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4615074.html
Copyright © 2020-2023  润新知