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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工厂模式-Php版

    工厂模式-Php版工厂模式(FactoryPattern)最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式分为三类:简单工厂模式(SimpleFactory) 工厂方法模式(FactoryMethod) 抽象工厂模式(AbstractFactory)简单工厂其实不是一个标准的的设计模式。GOF23种设计模式中只有「工厂方法模式」与「抽象工厂模式」。简单

    2022年7月25日
  • java executeupdate,Java线程安全中的executeUpdate方法[通俗易懂]

    java executeupdate,Java线程安全中的executeUpdate方法[通俗易懂]IhavemultiplethreadstryingtoupdateaMySQLdatabase?isexecuteUpdatemethodthread-safetouse?解决方案No,itisnotthread-safetouse.Infact,ifsomeotherthreadusesastatement,andthenanot…

    2022年10月20日
  • 小程序 消息推送配置token无效(解决方法)订阅消息

    小程序 消息推送配置token无效(解决方法)订阅消息代码://验证tokenfunctionverifyToken(){$signature=$_GET[“signature”];$timestamp=$_GET[“timestamp”];$nonce=$_GET[“nonce”];$token=’571247942′;//和token(令牌)一一对应$tmpArr=array($token,$timestamp,$nonce);sort($tmpArr,SORT_STR

    2022年9月12日
  • Android 通过应用程序来设置系统的日期和时间中的

    Android 通过应用程序来设置系统的日期和时间中的

    2022年1月6日
  • hql删除mysql语句_如何使用delete语句删除数据

    hql删除mysql语句_如何使用delete语句删除数据如何使用delete语句删除数据发布时间:2021-01-1510:57:41来源:亿速云阅读:83作者:小新栏目:数据库这篇文章主要介绍如何使用delete语句删除数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!怎么使用delete语句删除数据?创建一个临时表,用于演示sqlserver语法中delete删除的使用方法IFOBJECT_ID(‘tempdb..#tb…

    2022年6月16日
  • SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新[通俗易懂]

    SwipeRefreshLayout 与 CoordinatorLayout 嵌套刷新[通俗易懂]SwipeRefreshLayout与CoordinatorLayout嵌套刷新 1.动态设置SwipeRefreshLayout的是否可以刷新setEnable(booleanisEnable); 2.设置SwipRefreshLayout刷新图标的位置setProgressViewOffset(true,-20,100);首先看SwipeRefreshLa

    2022年6月25日

发表回复

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

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