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="小黄";
	

}

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • TCPIP协议

    TCPIP协议TCP/IP协议1.链路层:数据链路层或网络接口层(网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。处理与电缆(或其他任何传输媒介)的物理接口细节。转换IP层和网络接口层使用的地址。2.网络层:处理分组在网络中的活动,例如分组的选路。IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。…

  • java二维数组初始化为0_怎样把java二维数组初始化为0

    java二维数组初始化为0_怎样把java二维数组初始化为0展开全部新new出来的二维数组就是已经初始为0了,或者利62616964757a686964616fe58685e5aeb931333337623462用循环依次赋值0;例如:publicclassMain{publicstaticvoidmain(String[]args){inta[][]=newint[5][5];for(inti=0;i<5;i++){for…

  • 连接共享打印机显示0x000bcb_0x00004005打印机连接

    连接共享打印机显示0x000bcb_0x00004005打印机连接以win7为例,在局域网中,安装共享打印机时,会出现安装失败,打开详细信息显示为0x000000bcb,重新安装也不行,具体操作如下:连接共享打印机出现0x000000bcb问题的解决方法1打开控制面板,点击卸载程序,如下:2点击”查看已安装的更新“如下:3点击右上角“搜索已安装更新”,输入:”KB4022722“,点击搜索,会在下面的找到”KB4022722“的更新,点击卸载就…

  • Mac 键盘快捷键

    Mac 键盘快捷键Mac键盘快捷键您可以按下组合键来实现通常需要鼠标、触控板或其他输入设备才能完成的操作。要使用键盘快捷键,请按住一个或多个修饰键,同时按快捷键的最后一个键。例如,要使用快捷键Command-C(拷贝),请按住Command键并按C键,然后同时松开这两个键。Mac菜单和键盘通常对某些按键使用符号,其中包括以下修饰键:Command⌘Shift⇧Option⌥Con…

  • PyCharm配置_pycharm安装配置

    PyCharm配置_pycharm安装配置pycharmpycharm是一个比较好的pythonIDE,可以在MACOS和windows上使用,补全功能强大,而且界面十分友好,特别适合python编程人员使用。pycharmPycharm安装Pycharm配置修改成灰底主题显示行号修改字体大小编程字体我推荐运行调试Pycharm安装pycharm的安装地址:http://www.jetbrains.com/

  • 2018开发最快的Webapp框架–BUI交互框架

    2018开发最快的Webapp框架–BUI交互框架原文地址:https://segmentfault.com/a/11900000129940821.5版本更新说明BUI1.5版本以后变化很大,统一新的风格,新的规范750,新增基于Dom的数据驱动,完善了单页路由页面的生命周期等等,在好用的路上越走越远,如果你也觉得好用,帮我们推荐给您身边的朋友,谢谢。后续我们还会整理一些实战类的教程,欢迎关注BUIWebapp专栏。一…

发表回复

您的电子邮箱地址不会被公开。

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