當前位置:首頁 » 編程語言 » java引入js

java引入js

發布時間: 2022-11-01 14:57:41

㈠ intellij idea java web怎麼引入js

一:內部引入方式

意思就是和HTML代碼寫在同一個文件下。

二:外部引入方式

就是和HTML代碼不在同一個文件下。

㈡ java中怎麼插入js函數

js是前台頁面應用技術,java是後台應用技術,js後台是用不上的,如果需要,可以jsp在前台混插使用。
Java是不可以插入js的,但是可以輸出js,一般有以下兩種方法:
1.通過request跳轉的方式,在中間彈出js代碼。
2.可以通過out.print()列印的方式把整個頁面列印出來,這中間雖然是Java中輸出,但是也是輸出的頁面。
大體這么多,也可能有我不知道的方法,如果覺的可以,給分,謝謝。

㈢ java怎麼調用javascript

可參考:
package javaIjs;

/**
* @param args
*/

import java.io.FileReader;

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

/**
* Java調用並執行js文件,傳遞參數,並活動返回值
*
* @author manjushri
*/
public class ScriptEngineTest {

public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = System.getProperty("user.dir")+"/src/javaIjs/expression.js";
// 讀取js文件
FileReader reader = new FileReader(jsFileName);
// 執行指定腳本
System.out.println(engine.getContext().getReader());
engine.eval(reader);
if (engine instanceof Invocable) {
Invocable invoke = (Invocable) engine;
// 調用merge方法,並傳入兩個參數
// c = merge(2, 3);
Double c = (Double) invoke.invokeFunction("merge1", 21, 3);
System.out.println("c = " + c);
}
reader.close();
}
}

㈣ 如何在java中調用js方法

有時候因為需要,我們想在Java中調用js方法,不再是像頁面中一個事件觸發,該如何做到呢?今天下午沒事得時候小研究了下,現跟大家分享一下。不對之處,望大家指正,共同進步!
[java] view plain
/*
* 載入腳本引擎,並在java中調用js方法
*/
public void test2()
{
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
try {
String str="2&1";
Double d = (Double) engine.eval(str);
Integer i=d.intValue();
System.out.println(i);
} catch (ScriptException ex) {
ex.printStackTrace();
}
}
[java] view plain
/*
* 在java中調用js,jdk1.6中有載入js引擎類,然後由它來調用js方法。
* 並通過JDK平台給script的方法中的形參賦值
*/
public void test(String name)
{
ScriptEngineManager sem = new ScriptEngineManager();
/*
*sem.getEngineByExtension(String extension)參數為js
sem.getEngineByMimeType(String mimeType) 參數為application/javascript 或者text/javascript
sem.getEngineByName(String shortName)參數為js或javascript或JavaScript
*/
ScriptEngine se = sem.getEngineByName("js");
try
{
String script = "function say(){ return 'hello,'"+name+"; }";
se.eval(script);
Invocable inv2 = (Invocable) se;
String res=(String)inv2.invokeFunction("say",name);
System.out.println(res);
}
catch(Exception e)
{
e.printStackTrace();
}
}
[java] view plain
/*
* 演示如何將java中對象作為js中全局變數,同時演示將file類賦給腳本語言,並獲得其屬性。
*/
public void testScriptVariables()
{
ScriptEngineManager sem=new ScriptEngineManager();
ScriptEngine engine=sem.getEngineByName("js");
File file=new File("c://1.txt");
engine.put("f", file);
try {
engine.eval("println('path:'+f.getPath())");//無法使用alert方法
} catch (ScriptException e) {
e.printStackTrace();
}
}
[java] view plain
/*
* 演示如何在java中如何通過線程來啟動一個js方法
*/
public void testScriptInterface() throws ScriptException
{
ScriptEngineManager sem=new ScriptEngineManager();
ScriptEngine engine=sem.getEngineByName("js");
String script="var obj=new Object();obj.run=function(){println('test thread')}";
engine.eval(script);
Object obj=engine.get("obj");//獲取js中對象
Invocable inv=(Invocable)engine;
Runnable r=inv.getInterface(obj,Runnable.class);
Thread t=new Thread(r);
t.start();
}
這樣java就可以執行動態語言了,不過注意是jdk1.6版本的哦~
這樣寫不知道你能不能看懂,這個問題遠標java就已經講過這個題目了,希望能幫到你!

㈤ java中可以使用js代碼嗎

jsp中可以將java,js,htm糅合在一起,這是一種用法,另外如果你用過servlet,就會知道本身servlet調用輸出方法可以生成HTML,那也是可以用js代碼的。

㈥ 如何在java中調用js方法

在Java中調用js文件中的function,傳入調用參數,並獲取返回值
js文件中的merge函數將兩個參數a,b相加,並返回c。
// expression.js
function merge(a, b) {
c = a * b;
return c;
}

在Java代碼中讀取js文件,並參數兩個參數,然後回去返回值。
package com.sinaapp.manjushri;

import java.io.FileReader;
import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;
/** * Java調用並執行js文件,傳遞參數,並活動返回值 * * @author manjushri */

public class ScriptEngineTest {

public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");

String jsFileName = "expression.js"; // 讀取js文件

FileReader reader = new FileReader(jsFileName); // 執行指定腳本
engine.eval(reader);

if(engine instanceof Invocable) {
Invocable invoke = (Invocable)engine; // 調用merge方法,並傳入兩個參數

// c = merge(2, 3);

Double c = (Double)invoke.invokeFunction("merge", 2, 3);

System.out.println("c = " + c);
}

reader.close();

}
}

輸出結果:
c = 5.0

㈦ intellij idea java web怎麼引入js

第一步,在你的web項目里新建一個js文件夾

㈧ 如何通過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 swing怎麼嵌入js

import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import chrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserCommandEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserListener;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserNavigationEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserWindowOpeningEvent;
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserWindowWillOpenEvent;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import com.mohe.utils.system.L;
/**
* 主窗體
*
* @author dxm
*
*/
public class MainFrame extends JFrame {

private static final long serialVersionUID = -6348199501339114346L;

// 最後操作時間
public long lastTime = new Date().getTime();

// 瀏覽器窗體
private JWebBrowser webBrowser = null;
private JLabel lbl = null;
private JPanel panel = null;

public int pageFlag = 1;

/**
* 構造器
*/
public MainFrame() {
initData();
initGUI();
addListance();
}

private void initData() {

Toolkit toolkit = Toolkit.getDefaultToolkit();

this.setUndecorated(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600, 500);
this.setLocationRelativeTo(null);
this.setSize(toolkit.getScreenSize());
this.setLocation(0, 0);

webBrowser = new JWebBrowser();
webBrowser.navigate(Config.local + Config.index);
webBrowser.setBarsVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.setLocationBarVisible(false);
webBrowser.setButtonBarVisible(false);
webBrowser.setStatusBarVisible(false);

ImageIcon icon = new ImageIcon(System.getProperty("user.dir") + "\\城市.gif");
File img = new File(System.getProperty("user.dir") + "\\" + Config.img);
if (img.exists()) {
icon = new ImageIcon(img.getAbsolutePath());
}
lbl = new JLabel(icon);

panel = new JPanel(new BorderLayout());
}

private void initGUI() {
panel.add(webBrowser, BorderLayout.CENTER);
this.setContentPane(panel);
}

private void addListance() {

webBrowser.addWebBrowserListener(new WebBrowserListener() {

@Override
public void windowWillOpen(WebBrowserWindowWillOpenEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ windowWillOpen");
}

@Override
public void windowOpening(WebBrowserWindowOpeningEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ windowOpening");
}

@Override
public void windowClosing(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ windowClosing");
}

@Override
public void titleChanged(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ titleChanged");
}

@Override
public void statusChanged(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ statusChanged");
}

@Override
public void locationChanging(WebBrowserNavigationEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ locationChanging");
}

@Override
public void locationChanged(WebBrowserNavigationEvent arg0) {

lastTime = new Date().getTime();
L.info("___________ locationChanged");

// 判斷當前頁面等級
String locationURL = arg0.getNewResourceLocation();
int index = locationURL.indexOf("pageFlag=");
if (index != -1) {
pageFlag = Integer.parseInt(locationURL.substring(index + 9, index + 10));
} else {
pageFlag = 1;
}
System.out.println("____________________ pageFlag:" + pageFlag);

// 判斷下載文件進行列印
index = locationURL.indexOf("fileName=");
System.out.println("____________________ file Index:" + index);

if (index != -1) {

String fs = locationURL.substring(index + 9);
L.info("______________________ fileName = " + fs);
String[] fns = fs.split(",");
try {
List<File> flist = downNetFile(Arrays.asList(fns));
doPrintDoc(flist);
} catch (IOException e) {
e.printStackTrace();
}
}

SwingUtilities.invokeLater(new Runnable() {
public void run() {
webBrowser.setVisible(false);
webBrowser.setVisible(true);
webBrowser.updateUI();
webBrowser.repaint();
panel.updateUI();
panel.repaint();
panel.validate();
}
});

}
@Override
public void locationChangeCanceled(WebBrowserNavigationEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ locationChangeCanceled");
}
@Override
public void loadingProgressChanged(WebBrowserEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ loadingProgressChanged");
}
@Override
public void commandReceived(WebBrowserCommandEvent arg0) {
lastTime = new Date().getTime();
L.info("___________ commandReceived");
}
});
lbl.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
}

@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
}

@Override
public void mouseClicked(MouseEvent arg0) {
change(2);
}
});

}

熱點內容
我的世界外置登錄在伺服器如何顯示皮膚 發布:2025-01-09 20:18:36 瀏覽:283
一個文件夾一個窗口 發布:2025-01-09 20:02:08 瀏覽:479
java的indexof 發布:2025-01-09 19:51:14 瀏覽:610
光遇ios國際服怎麼登錄安卓 發布:2025-01-09 19:44:24 瀏覽:778
手機如何破解無線密碼 發布:2025-01-09 19:36:52 瀏覽:49
java貓 發布:2025-01-09 19:35:13 瀏覽:130
linux埠號命令 發布:2025-01-09 19:21:55 瀏覽:530
輸入虛擬手機伺服器地址怎麼填 發布:2025-01-09 18:58:50 瀏覽:349
dede換資料庫 發布:2025-01-09 18:53:23 瀏覽:263
sql2000資料庫置疑修復 發布:2025-01-09 18:35:54 瀏覽:411