java調用js代碼,java調用js代碼 實例

本文目錄一覽:

如何在java中調用js方法

js代碼如下:

[javascript] view plain copy

function formula(var1,var2){

return var1+var2-factor;

}

java代碼如下:

[java] view plain copy

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.util.Scanner;

import javax.script.Bindings;

import javax.script.Invocable;

import javax.script.ScriptContext;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException;

public class AboutJavaScript {

public static void main(String[] args) throws Exception {

ScriptEngine engine=new ScriptEngineManager().getEngineByName(“javascript”);

Bindings bind = engine.createBindings();

bind.put(“factor”, 1);

engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);

Scanner input=new Scanner(System.in);

while (input.hasNextInt()) {

int first= input.nextInt();

int sec=input.nextInt();

System.out.println(“輸入參數是:”+first+”,”+sec);

engine.eval(new FileReader(“F:/model.js”));

if(engine instanceof Invocable){

Invocable in =(Invocable) engine;

Double result=(Double) in.invokeFunction(“formula”, first,sec);

System.out.println(“運行結果:”+result.intValue());

}

}

}

}

如何通過java代碼調用js

JDK1.6版添加了新的ScriptEngine類,允許用戶直接執行js代碼。

在Java中直接調用js代碼

不能調用瀏覽器中定義的js函數,會拋出異常提示ReferenceError: 「alert」 is not defined。

package com.sinaapp.manjushri;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException; /** * 直接調用js代碼 */

public class ScriptEngineTest {

public static void main(String[] args) {

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName(“javascript”);

try{

engine.eval(“var a=3; var b=4;print (a+b);”);

// engine.eval(“alert(\”js alert\”);”); // 不能調用瀏覽器中定義的js函數 // 錯誤,會拋出alert引用不存在的異常

}catch(ScriptException e){

e.printStackTrace();

}

}

}

java中怎麼調用js代碼

這是一個腳本框架,提供了讓腳本語言來訪問Java內部的方法。你可以在運行的時候找到腳本引擎,然後調用這個引擎去執行腳本。這個腳本API允許你為腳本語言提供Java支持。

如何在java調用js

script type=”text/javascript” src=”js/jquery-3.1.0.min.js”/script

就是這樣引入js 。src 的 ‘js’的js是webroot下自己創建的名為js的文件夾 ,jquery-3.1.0.min.js是需要引入的js文件,你自己寫的js文件也可以這樣引入調用。還可以直接在頁面上這樣寫:

script language=”JavaScript” type=”text/javascript”

function init() {

———

}

/script

請問怎麼寫java調用node環境運行js代碼?

nodejs 運行代碼可以在命令行中使用命令「 node /path/xxx.js 」來執行

所以我們可以藉助 java 的 Runtime 類,可以執行系統本地的命令, 例如:

Linux系統下:Runtime.getRuntime().exec(“node /path/xxx.js”);

Window系統下:Runtime.getRuntime().exec(“cmd /c node /path/xxx.js”);

當然推薦使用 Apache-Commons-Exec 工具類,可以屏蔽不同系統命令差異,並且獲取結果更簡單

工具類使用可以參考此文: 網頁鏈接

原創文章,作者:ZKF7B,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128219.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ZKF7B的頭像ZKF7B
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29

發表回復

登錄後才能評論