详细解读BSF脚本引擎

简介: 详细解读BSF脚本引擎

BSF即为Bean Scripting Framework的缩写

官方网址:

它是一个支持在Java应用程序内调用脚本语言 (Script),并且支持脚本语言直接访问Java对象和方法的一个开源项目

BSF最初是IBM的Alpha工作组的项目后来贡献给了Apache

下载地址:

可以使用它在java application中使用javascript, Python, XSLT, Perl, tcl, ……等脚本语言. 反过来也可以,就是在这些脚本语言中调用任//代码效果参考:http://www.zidongmutanji.com/bxxx/533610.html

何已经注册过 了的JavaBean,java object。

这是一个很好的idea。可以使得Java能够更好的于各种流行脚步语言整合,实现不同语言之间的交互作用

样例代码(使用javascript作为测试的脚本语言):

需要jar包:

bsf.jar

js.jar

import org.apache.bsf.BSFEngine;

import org.apache.bsf.BSFException;

import org.apache.bsf.BSFManager;

/

BSF(Bean Scripting Framework)测试

@author archie

since 上午09:45:02

/

public class BSFTest {

public static void main(String【】 args) {

//Script脚本

String script=

"function dealBean()" +

"{"

+ " str = bsf.lookupBean('u');"

+ "return \"ID:\"+str.id+\"用户名:\"+str.uname+\"地址:\"+str.address+\"_调用方法:\"+str.toString()+"+

"'\t'+\"的bean内容被获得了;\";" +

"}";

try {

///代码效果参考:http://www.zidongmutanji.com/zsjx/421911.html

/BSF管理器

BSFManager bsfManager=new BSFManager();

//BSF引擎

BSFEngine bsfEngine = bsfManager.loadScriptingEngine("javascript");

/

Bean

/

User u=new User();

u.setId(1);

u.setUname("archie");

u.setAddress("上海松江");

//执行Script脚本

bsfEngine.eval("javascript", 0, 0, script);

//BSFManager注册一个Bean

bsfManager.registerBean("u", u);

//bsfManager.registerBean("u", "archie");

//执行脚本中方法并返回

Object result = bsfEngine.eval("javascript", 0, 0, "dealBean();");

System.out.println(result.toString());

} catch (BSFException e) {

e.printStackTrace();

}

}

}

运行效果:

by archie

相关文章
|
6月前
|
前端开发 JavaScript Java
hyengine 编译问题之复用脚本引擎如何解决
hyengine 编译问题之复用脚本引擎如何解决
|
5月前
|
自然语言处理 前端开发 JavaScript
V8引擎的运行原理
【9月更文挑战第1天】V8引擎的运行原理
89 0
|
8月前
|
JavaScript 前端开发 Java
详细解读BSF脚本引擎
详细解读BSF脚本引擎
40 0
|
XML Java 关系型数据库
Activiti工作流引擎介绍
Activiti工作流引擎介绍
|
9月前
|
边缘计算 安全 算法
阿里云丁玉杰:构建全场景服务引擎
2023全球边缘计算大会·上海站,阿里云边缘云演讲分享
204 0
|
API 容器
Activiti工作流引擎的使用、思考与总结(上)
Activiti工作流引擎的使用、思考与总结
244 0
Activiti工作流引擎的使用、思考与总结(下)
Activiti工作流引擎的使用、思考与总结
172 0
|
C语言 Python
脚本引擎初步研究
由于组态软件里要嵌入脚本引擎,以前虽然在IOServer中嵌入了VBScript,但脚本引擎的概念实在是不甚明白,这几天集中突击了脚本引擎的相关知识,收获还不少。
|
JSON 前端开发 JavaScript
在前端的JavaScript脚本中,如何高效率的使用数据库中的配置信息
在前端的JavaScript脚本中,如何高效率的使用数据库中的配置信息
159 0
|
监控 Python
日志服务CLI ETL - 扩展UDF
介绍日志服务命令行工具ETL灵活的扩展UDF,包括协议、规则与样例等
3035 0