java代码运行简单js方法案例

java代码运行简单js方法案例java代码运行简单js方法案例

大家好,又见面了,我是你们的朋友全栈君。

package 算法;

import java.util.HashMap;
import java.util.Map;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class 测试js {

	public static void main(String[] args) {
		//引入js
		ScriptEngine engine= new ScriptEngineManager().getEngineByName("js");
		//这里我们做的实验是把下面的dog对象方到js中,并运行js方法
		//这里我们把对象放到map中,
		Map<String, Object> map=new HashMap<>();
		Dogs dog=new Dogs();
		map.put("dog", dog);
		System.out.println(dog.name);
		//把对象放到js中
		engine.put("dog", new Dogs());
		try{
			engine.eval("function func(){return dog.name;}");//写个js方法,并返回
//判断是否包含某字符串
engine.eval("function func(){if(\"等待分派\".search(\"等待\") !=-1){return true;}else{return false;}");
//判断当前日期减去两年是否大于某个日期
engine.eval("function func(){return new Date("\2019/05/9\") >new Date().setFullYear(new Date().getFunllYear()-2);}")
//判断当前日期减去两月是否大于某个日期
engine.eval("function func(){return new Date("\2019/05/9\") >new Date().setMonth(new Date().getMonth()-2);}")

//返回某个日期减去2年得到的日期
engine.eval("function func(){return new Date("\2019/05/9\").setYear(new Date("\2019/05/9\").getYear()-2).toLocalString();}");
engine.eval("function func(){return new Date("\2019/05/9\").setFullYear(new Date("\2019/05/9\").getFullYear()-2).toLocalString();}");
//			engine.eval("function func(){if(map.name=='小黄'){return true;}else{return dog.age;}}");
			System.out.println(engine.eval("func()"));//运行func()方法
		}catch(ScriptException e){
			System.err.println(e.getCause());
		}
		
	}

}

Dog.java

package 算法;

public class Dogs {
	
	public String name="小黄";
	

}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105990.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月24日 上午8:20
下一篇 2022年4月24日 上午8:20


相关推荐

  • 数组遍历的几种方法及用法

    数组遍历的几种方法及用法js 提供了多种遍历数组的方法 具体使用场景略有区别 在此简单介绍一下 一 forEach 方法 forEach 是最简单 最常用的数组遍历方法 它提供一个回调函数 可用于处理数组的每一个元素 默认没有返回值 以上是个简单的例子 计算出数组中大于等于 3 的元素的个数 回调函数的参数 第一个是处于当前循环的元素 第二个是该元素下标 第三个是数组本身 三个参数均可选 二 map 方法 m

    2026年3月26日
    3
  • js弹出框、对话框、提示框、弹窗总结[通俗易懂]

    js弹出框、对话框、提示框、弹窗总结[通俗易懂]js弹出框、对话框、提示框、弹窗总结一、JS的三种最常见的对话框[javascript] viewplaincopy//====================== JS最常用三种弹出对话框 ========================        //弹出对话框并输出一段提示信息      funct

    2025年6月30日
    6
  • pycharm 2021年最新激活码 有效【在线破解激活】「建议收藏」

    pycharm 2021年最新激活码 有效【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    71
  • 公网IP、私网IP和IP分类

    公网IP、私网IP和IP分类0 源于 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp IP 查询是一个经常性的操作 Windows 平台可以在 cmd 中通过 ipconfig 查询 linux 则在终端中输入 ifconfig 发现我的 IP 通常是因为我到处蹭网 192 168 10 xxx 不是说 IP 地址全球唯一吗 怎么还有多个相同网段的 IP 呢 nbsp nbsp nbsp amp n

    2026年3月26日
    2
  • 线性八叉树_八叉树OcTree

    线性八叉树_八叉树OcTree在描述三维场景的过程中常常用到一种名为八叉树的数据结构 描述三维空间的八叉树和描述二维空间的四叉树有相似之处 二维空间中正方形可以被分为四个相同形状的正方形 而三维空间中正方体可以被分为八个形状相同的正方体 八叉树的每个结点表示一个正方体的体积元素 每一个结点有八个子节点 这种用于描述三维空间的树装结构叫做八叉树 为了便利的点云操作 八叉树 OcTree 被封装在 PCL 库中 八叉树的计算原理 1 设定

    2026年3月19日
    2
  • 云计算解决的主要问题_云数据中心的特征有哪些

    云计算解决的主要问题_云数据中心的特征有哪些有关数据中心的建设问题,不同行业所面临建设问题也是参差不齐,对于传统制造业而言盲目的讨论大数据应用似乎有些空中楼阁,依靠实际经验来发言似乎更有说服力。有关数据中心的建设问题,不同行业所面临建设问题也是参差不齐,对于传统制造业而言盲目的讨论大数据应用似乎有些空中楼阁,依靠实际经验来发言似乎更有说服力。按照原有的组织和业务结构,应用系统是省市两级部署,但随着发展慢慢地向省局集中部署。看似小小的变化导致…

    2026年4月16日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号