bsf.jar

官方网址:http://jakarta.apache.org/bsf/               

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

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

下载地址:http://jakarta.apache.org/site/downloads/downloads_bsf.cgi

可以使用它在java application中使用javascript, Python, XSLT, Perl, tcl, ……等脚本语言. 反过来也可以,就是在这些脚本语言中调用任何已经注册过了的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  {
// 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();
}
}

}
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值