เราต้องการดำเนินการวิธีการดำเนินการ (S1, S2) ใน JavaScriptMethods.js เนื้อหาของไฟล์ JavaScriptMethods.js มีดังนี้:
ฟังก์ชั่นดำเนินการ (s1, s2) {return s1 + s2;}ก่อนอื่นคุณต้องกำหนดอินเทอร์เฟซซึ่งให้ลายเซ็นวิธีการเดียวกันกับวิธี JavaScript ที่จะดำเนินการ เรากำหนดวิธีการเชื่อมต่อและเนื้อหาของมันมีดังนี้:
/** * ลายเซ็นวิธีการในอินเทอร์เฟซจะต้องสอดคล้องกับวิธี JavaScript ที่จะดำเนินการ * @author yuncong * */วิธีการเชื่อมต่อสาธารณะ {public String execute (String S1, String S2);}จากนั้นคุณสามารถใช้เอ็นจินสคริปต์เพื่อดำเนินการวิธีการดำเนินการ (S1, S2) ใน JavaScriptMethods.js เนื้อหาเฉพาะถูกเขียนในคลาส Executescript ต่อไปนี้:
นำเข้า java.io.filereader; นำเข้า javax.script.invocable; นำเข้า Javax.script.scriptEngine; นำเข้า Javax.script.scriptenginginager; คลาสสาธารณะดำเนินการ {public static void main (string [] args) ScriptEngine Engine = manager.getEngineByName ("JS"); ลอง {string path = executescript.class.getResource (""). getPath (); System.out.println (เส้นทาง); // พารามิเตอร์ของ filereader เป็นเส้นทางของไฟล์ JS ที่จะดำเนินการ engine.eval (ใหม่ filereader (พา ธ + "javascriptmethods.js")); if (engine instanceof revocable) {revocable rovocable = (ไม่สามารถเรียกได้) เครื่องยนต์; วิธีการ executeMethod = invocable.getInterface (methods.class); System.out.println (Executemethod.execute ("Li", "Yuncong")); }} catch (exception e) {e.printstacktrace (); - เรียกใช้คลาส Executescript และเอาต์พุตเป็นดังนี้:
/c:/ผู้ใช้/yuncong/git/login/target/classes/enecutescript/liyuncong
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับการเรียนรู้ของทุกคน