0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

یکسری تابع جاوااسکریپت برای تبدیل مقیاس های اندازه گیری وجود دارد که بسیار خوب کار می کند، می خواهم بدون بازنویسی آنها با جاوا، همان توابع جاوااسکریپت را درون کد جاوا فراخوانی کنم، آیا این امکان وجود دارد؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

در زبان برنامه نویسی جاوا امکانای برای فراخوانی مستقیم کدهای زبان های برنامه نویسی اسکریپتی مانند جاوااسکریپت وجود دارد (Java Scripting API)، کلاس های ScriptEngineManager و ScriptEngine این کار را برای شما انجام می دهند:

        ScriptEngineManager manager = new ScriptEngineManager();  
        ScriptEngine engine = manager.getEngineByName("JavaScript");  
  
        // JavaScript code in a String  
        String script = "function hello(name) { print('Hello, ' + name); }";  
        // evaluate script  
        engine.eval(script);  
  
        // javax.script.Invocable is an optional interface.  
        // Check whether your script engine implements or not!  
        // Note that the JavaScript engine implements Invocable interface.  
        Invocable inv = (Invocable) engine;  
  
        // invoke the global function named "hello"  
        inv.invokeFunction("hello", "Scripting!!" );  

در مثال فوق EngineName جاوااسکریپت در نظر گرفته شده است و تابع hello ابتدا تعریف شده (با استفاده از متد eval) و سپس با ارسال یک پارامتر فراخوانی شده.

با استفاده از Java Scripting API نیازی به تبدیل توابع جاوااسکریپت به جاوا و سپس فراخوانی آنها وجود ندارد.

سوالات مشابه

0 امتیاز
1 پاسخ 634 بازدید
0 امتیاز
1 پاسخ 2.0هزار بازدید
+1 امتیاز
1 پاسخ 218 بازدید
0 امتیاز
2 پاسخ 384 بازدید
0 امتیاز
3 پاسخ 994 بازدید
0 امتیاز
1 پاسخ 327 بازدید
+1 امتیاز
2 پاسخ 1.1هزار بازدید
+1 امتیاز
1 پاسخ 308 بازدید
0 امتیاز
0 پاسخ 262 بازدید
...