java里面引用js脚本

简介: java里面引用js脚本

首先是java的引用代码部分:


package com.sise.lab01.动态化脚本案例;
import javax.script.*;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
/**
 * java读取js脚本
 * @author hao_lin
 * @data 2018/8/16 9:07
 */
public class JavaReadJavaScript {
    public static void main(String[] args) throws FileNotFoundException, ScriptException, NoSuchMethodException {
        ScriptEngine engine=new ScriptEngineManager().getEngineByName("javascript");
        //建立上下文
        Bindings bind=engine.createBindings();
        bind.put("factor",1);
        System.out.println("请输入初始化参数:");
        Scanner input=new Scanner(System.in);
        String item=input.nextLine();
        while(item!="exit"){
            Object eval = engine.eval(new FileReader("D:\\code\\book1\\src\\main\\resources\\lab.js"));
            if(engine instanceof Invocable){
                System.out.println("输入参数:"+item);
                Invocable in= (Invocable) engine;
                String result= (String) in.invokeFunction("printWord",item);
                System.out.println("运算结果:"+result.toString());
            }
            System.out.println("请再次输入参数:");
            item=input.nextLine();
        }
    }
}
复制代码


其次是js脚本部分的内容:


function printWord(item) {
    if(item=='test1'){
        item+="test1";
        return item;
    }
    item=item+"check";
    return item;
}
复制代码


然后开启程序即可看到效果:


网络异常,图片无法展示
|


通常在java程序里面使用js脚本的好处在于程序的灵活性,不需要重新开启java虚拟机,即可改变程序的运算结果。

目录
相关文章
|
1月前
|
缓存 JavaScript 前端开发
Java 如何确保 JS 不被缓存
【10月更文挑战第19天】在 Java 中,可以通过设置 HTTP 响应头来确保 JavaScript 文件不被浏览器缓存。方法包括:1. 使用 Servlet 设置响应头,通过 `doGet` 方法设置 `Expires`、`Cache-Control` 和 `Pragma` 头;2. 在 Spring Boot 中配置拦截器,通过 `NoCacheInterceptor` 类和 `WebConfig` 配置类实现相同功能。这两种方法都能确保每次请求都能获取到最新的 JavaScript 内容。
|
16天前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
24天前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
80 8
|
5月前
|
Java jenkins 持续交付
Java项目jar包启动脚本,适用jenkins或定时任务或手动执行
Java项目jar包启动脚本,适用jenkins或定时任务或手动执行
349 3
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
37 1
|
1月前
|
缓存 JavaScript 前端开发
Java 如何确保 JS 不被缓存
大家好,我是 V 哥。本文探讨了 Java 后端确保 JavaScript 不被缓存的问题,分析了文件更新后无法生效、前后端不一致、影响调试与开发及安全问题等场景,并提供了使用版本号、设置 HTTP 响应头、配置静态资源缓存策略和使用 ETag 等解决方案。最后讨论了缓存的合理使用及其平衡方法。
|
1月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
29 0
|
1月前
|
JavaScript Java
Java 控制台VUE.JS的使用
Java 控制台VUE.JS的使用
19 0
|
1月前
|
SQL Java 数据库连接
如何在 Java 脚本中有效地使用 JDBC
如何在 Java 脚本中有效地使用 JDBC
17 0
|
2月前
|
JavaScript 前端开发
用JavaScript脚本将当地时间转换成其它时区
用JavaScript脚本将当地时间转换成其它时区