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


相关推荐

  • SpringBoot——ResponseBody

    SpringBoot——ResponseBody很多情况下我们希望后端的调用结果能直接写入Http的响应体中以供前端获取来更新页面显示,此时需要我们在以@controller为注解的类中对相应方法加上@ResponseBody注解:@ControllerclassHelloWorldController{@RequestMapping(“/hello”)@ResponseBodypublicStringhello(){return”HelloWorld!”;}}我们也可

    2022年5月28日
    36
  • function_exists与method_exists区别

    function_exists与method_exists区别1.method_exists—检查类的方法是否存在说明method_exists(mixed$object,string$method_name):bool检查类的方法是

    2022年7月1日
    24
  • Calling LoadLibraryEx on ISAPI filter failed「建议收藏」

    Calling LoadLibraryEx on ISAPI filter failed「建议收藏」今天在访问IIS下的站点时莫名奇妙的遇到这个问题CallingLoadLibraryExonISAPIfilter“C://。。。” failed,前面引号中的“C://。。。”是加载的DLL的路径。打开IIS管理器点击web站点名称,点击ISAPI筛选器会在列表中看到前面错误中提到的那个不能加载的DLL的名称和执行路径,把它删掉即可。

    2025年6月18日
    4
  • Qt 音乐播放器「建议收藏」

    Qt 音乐播放器「建议收藏」一、实现功能:1、读取歌曲文件,实现歌曲的播放;2、采用QtDesigner实现歌曲的暂停和播放,歌曲名列表和当前播放歌曲名的显示,上一曲和下一曲歌曲的更换,播放模式的设置,音量的改变,歌曲播放进度的改变;3、读取歌词文件,实现歌词的显示;4、利用QSetting增加歌曲文件和歌词文件的设置功能;5、界面汉化;6、使用CSS进

    2022年4月30日
    68
  • 很震撼的HTML5视频播放器,电影院的感觉建议收藏

    效果很震撼!有电影院的感觉了。呵呵。看了下代码,依然是在一个canvas里嵌入然后getImageData点击这里查看效果代码:varcanvas=document.createElement

    2021年12月20日
    47
  • VMware中安装系统提示没有可用的映像(No image available)

    VMware中安装系统提示没有可用的映像(No image available)今天新建了个虚机在装系统的时候提示“没有可用的映像”之所以会出现这种情况是因为在新建虚机的时候选择的设置不同导致的,此处不管选第一项还是第二项都会虚机设置中多了一个软盘的配置项,而这个选项默认的勾选就是导致上面没有可用镜像的真正元凶。网上一查这个问题很多都说是开始迅速按F2或者ESC进BIOS修改默认启动顺序,但即使你这么设置了但依旧是无济于事的,所以要解决这个问题…

    2022年6月25日
    30

发表回复

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

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