Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Java vs JavaScript

23K
10 июля 2007 года
atlete
14 / / 05.07.2007
Java 6 дает возможность работать с JS то есть пистаь функции в JS, а потом вызывать их из Java.
Вопрос такой: где то читал (не помню где точно) что вроде как есть возможность написание в Java интерфейса, а его имплементацию делать в JavaScript. Кто нить пробовал рабоать с подобными технологиями? Есть ли у кого примеры?
23K
11 июля 2007 года
atlete
14 / / 05.07.2007
Ответ нашелся :)
Вот пример:
Код на java script:
 
Код:
function meth1(){
print("my method first");
}

function meth2(){
print("my second method");
}


Интерфейс(JAVA):
 
Код:
package test;

public interface ITest {

    public void meth1();
    public void meth2();
}

Ну и сама реализация:
Код:
package test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.Reader;

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

public class Main {

    /**
     * @param args
     * @throws FileNotFoundException
     */
    public static void main(String[] args) throws FileNotFoundException {
        // TODO Auto-generated method stub
        ScriptEngineManager manager =  new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("javascript");
        FileInputStream is = new FileInputStream("ITestImpl.js");
        Reader reader = new InputStreamReader(is);
        try {
           
            engine.eval(reader);
           
            Invocable inv = (Invocable)engine;

            ITest tst = inv.getInterface(ITest.class);
            tst.meth1();
            tst.meth2();
        } catch (ScriptException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
       
       
    }

}


Надеюсь кому то пригодятся эти труды :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог