يدرس هذه المقالة بشكل رئيسي المحتوى ذي الصلة لبرمجة Java Nashorn ، على النحو التالي.
ما هو ناشورن
ناشورن ، المعلن "ناس هورن" ، هو اسم دبابة في ألمانيا خلال الحرب العالمية الثانية. إنه أيضًا الجيل الجديد من محرك JavaScript لـ Java8 - استبدال وحيد القرن القديم والبطيء ، والامتثال لمواصفات اللغة 5.1 الإصدار 5.1. قد ترغب في تشغيل JavaScript في متصفح الويب وتوفر عمليات DOM المختلفة على HTML ، لكن Nashorn لا تدعم كائنات DOM متصفح. هذه نقطة تحتاج إلى الاهتمام.
صادفت أن أكتب مثالًا بسيطًا عندما كنت أتعلم Java 8 ، لذلك سأسجله هنا.
دليل الملف:
stringfunction.java رمز المصدر:
stringfunction stringfunction { / ** * string intercept * / public string sub (String str ، int start ، int end) {return str.substring (start ، end) ؛ } / *** string clisling* / public string append (String ... strs) {StringBuilder result = new StringBuilder (strs [0]) ؛ Stream.of (Strs) .Skip (1). return return.toString () ؛ }}كود المصدر stringnashorn.java:
فئة عامة StringNashorn { / *** Nashorn Script Engine* / private scriptengine nashorn = new scriptengeneManager (). getEngineByName ("nashorn") ؛ / *** تنفيذ البرنامج النصي*/ كائن عام Execute (سلسلة البرنامج النصي) {scriptContext ScriptContext = new SimplesCriptContext () ؛ // تحديد دالة تسمى stringFunction ، والتي تتوافق فعليًا مع stringfunction scriptContext.setAttribute ("stringfunction" ، stringfunction () ، 100) ؛ nashorn.setContext (scriptContext) ؛ نتيجة الكائن = فارغة ؛ حاول {result = nashorn.eval (script) ؛ } catch (scriptexception e) {e.printStackTrace () ؛ } نتيجة الإرجاع ؛ }}Nashorntest.java كود المصدر:
الفئة العامة nashorntest {public static void main (string [] args) {string substring = "stringfunction.sub (/" abcdefghijk/"، 1 ، 4) ؛" ؛ string append = "stringfunction.append (/" abc/"،/" def/") ؛" ؛ StringNashorn Nashorn = new StringNashorn () ؛ الكائن sub -insult = nashorn.execute (substring) ؛ Object AppendResult = nashorn.execute (إلحاق) ؛ system.out.println (subrensult.toString ()) ؛ System.out.println (AppendResult.ToString ()) ؛ }}تشغيل الطريقة الرئيسية ، والنتيجة هي:
BCD
ABCDEF
هنا ، إذا تم إعادة كتابة nashorntest.java على النحو التالي:
الفئة العامة nashorntest {public static void main (string [] args) {// استخدم الكائنات لتلقي النتائج في البرنامج النصي والطباعة substring = "var s1 = stringfunction.sub (/" ABCDEFGHIJK/"، 1 ، 4) ؛" + "Print (S1) ؛" ؛ string append = "var s2 = stringfunction.append (/" ABC/"،/" def/") ؛" + "Print (S2) ؛" ؛ StringNashorn Nashorn = new StringNashorn () ؛ // هنا لم يعد التنفيذ إرجاع الكائن لأنه توجد بالفعل كائنات في البرنامج النصي الذي يتلقى نتائج تنفيذ Sub و Aspend. nashorn.execute (substring) ؛ nashorn.execute (إلحاق) ؛ }}كما ستكون النتيجة نفسها هي الإخراج.
لخص
ما سبق هو كل شيء عن مدونة Java Programming Nashorn مثال ، آمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!