最近在项目中需要用的BSF,所以在网上找了一下。
BSF
一、 BSF 是什么?
Bean Scripting Framework(BSF)是一个支持在Java应用程序内调用脚本语言 (Script),并且支持脚本语言直接访问Java对象和方法的一个开源项目。有了它 , 你就能在java application中使用javascript, Python, XSLT, Perl, tcl, ……等一大堆scripting language. 反过来也可以,就是在这些scripting language中调用任何已经注册过了的JavaBean,java object。
它提供了完整的API实现通过Java访问脚本语言的引擎。目前BSF 支持以下几种脚本语言:
Javascript (using Rhino ECMAScript, from the Mozilla project)
NetRexx (an extension of the IBM REXX scripting language in Java)
Python (using Jython)
Tcl (using Jacl)
XSLT Stylesheets (as a component of Apache XML project's Xalan and Xerces)
另外,也支持以下的这几种语言通过他们自身的BSF引擎来实现(下面提到的各个脚本语言的引擎都可以在其官网下载到)。
Java (using BeanShell, from the BeanShell project)
Groovy
JLog (PROLOG implemented in Java)
JRuby
JudoScript
ObjectScript
ooRexx (Open Object Rexx), using BSF4Rexx.
BSF最初是IBM的Alpha工作组的项目后来贡献给了Apache,这个项目的目的就是为使得在脚本语言的环境下访问JavaBean的内容。相信使用过这个Apache项目的朋友应该不多。但是这是一个很好的idea。可以使得Java能够更好的于各种流行脚步语言整合,实现不同语言之间的交互作用。随着Groovy, Ruby等脚步语言的走红。这个项目可能会有更大的发挥余地。试想一下,使用Java来编写模块,使用脚步来排列组合各个模块。并且可以通过bsf来统一管理运行多种不同脚步,这样也算是不错的想法。当然具体运用它还要看实际项目的需要。
官网地址:http://jakarta.apache.org/bsf/。
二、如何安装?
把bsf.jar文件当做class library来安装.另外一个非常重要的包是js.jar(假如你用javascript的话),也要装进来,否则会找不到javascriptEngine。
三、如何使用?
在JSP中使用BSF:
省略
在servlet / formBean / java application中使用BSF:
Step 1. import BSF class
例如: 这些包都是要用到的.
import org.apache.soap.util.IOUtils; (这个包用于把javascript文件给变成String,才能扔进BSF引擎中处理)
import org.apache.bsf.*; (BSF引擎就在这里)
import org.apache.bsf.engines.javascript.*;
import java.io.*;
import java.util.*;
Step 2. initiate BSFManager object
例: bsfmgr = new BSFManager();
Step 3.使用BSFManager.eval(….) 或 BSFManager.exec(…) 就可以执行javascript了.
例:
Object obj = bsfmgr.eval( “javascript”, XX, YY, ZZ, script ) : 返回script的值,以object的形式.
bsfmgr.exec( “javascript”, XX, YY, ZZ, script): 执行这script.返回空!
第一个参数javascript可以换成其它如perl, python, tcl……
XX: The name of the input source (typically a filename; here, it's always simply Evaluator),没有什么用,任何string都行.
YY: The line number, 通常为0,
ZZ: The character position of the given script in the input source (these arguments are for error reporting), 通常为0最后一个参数是要执行的script语句, 是String就行了.
Step 4:
在java class 中注册一个javaBean, mgr.declareBean("PS", ps, ps.getClass()), “PS” 和 ps(一个javaBean的 instance) 绑定在一起了. 以后在 javascript文件中,直接用 PS就可以找到这个javaBean了.
如果你用另外一种注册方法: mgr.registerBean("PS",ps) , 那么在javascript文件中,用PS = bsf.lookupBean("PS") 来在BSFManager中找到PS这个javaBean. Bsf就代表BSFManager.
常用的method参考:
BSFManager() - the BSFManager constructor
• eval() - used to evaluate a script and return its value
• exec() - used to execute a script
• loadScriptingEngine() - used to return a BSFEngine for the desired scripting language
• registerBean() - adds an object to BSF’s object registry
• lookupBean() - retrieves an object from BSF’s object registry
• declareBean() - creates an implicit object in the context of any loaded scripting language, which does not have to be accessed via lookupBean()
BSF
(back-surface field)
太阳能电池中用于减少反射、增加电池转换效率的背面反射场。
分享到:
相关推荐
BSF.zip_BSF_bsf delp 是一个针对DELPHI开发环境的控件包,它包含了一系列名为"BSF"的组件。这个压缩包显然专为DELPHI开发者设计,目的是提供一系列强大的控件和功能,以提升软件开发的效率和质量。BSF代表了...
【标题】"bsf-all-3.1.jar" 是一个Java库文件,它包含了Bean Scripting Framework(BSF)的全部功能。这个框架允许在Java应用程序中使用多种脚本语言,提高了开发灵活性和代码可扩展性。 【描述】"bsf-all-3.1.jar ...
### BSF(Java中使用JavaScript) #### 一、BSF简介 BSF(Bean Scripting Framework,豆脚本框架)是Apache的一个项目,它提供了一种机制,使得开发者能够在Java应用中集成各种脚本语言,如JavaScript、Python、...
【标题】"bsf-bin-2.4.0.zip"是一个软件分发包,它包含了Bean Scripting Framework(BSF)的二进制版本,版本号为2.4.0。BSF是一个Java平台上的框架,它允许在Java应用程序中嵌入和使用各种脚本语言。这个压缩包主要...
`bsf.jar` 是一个与Java相关的库文件,它的全称是Bean Scripting Framework(Bean脚本框架)。这个框架主要用于在Java应用中集成各种脚本语言,如JavaScript、Python、Perl等,使得开发者可以在Java程序中方便地使用...
标题 "bsf-bin-2.4.0.tar" 指的是一个名为 "bsf-bin-2.4.0" 的二进制软件包的tar格式压缩文件。这个文件通常是用于在Linux或类Unix系统中分发软件的常见方式。"bin" 在这里通常代表 "binary",意味着里面包含的是可...
### TTP229-BSF 数据手册解析 #### 一、概述 TTP229-BSF 是一款TonTouch™系列触控检测集成电路(IC),专为触控板控制设计。它采用电容式传感技术,适用于通过非导电介质材料连接的人机界面控制面板,主要用于...
问题的根源最终被确定为BSF(Binding Support Function)网元的一个bug。 BSF是5G核心网中的一个重要组件,它负责AF(Application Function)对PCF(Policy Control Function)的寻址。当SA用户进行VoLTE通话时,...
《Ant Apache BSF 1.6.jar:Java构建工具与脚本引擎的融合》 Apache Ant,一个由Apache软件基金会开发的Java库和命令行工具,它的任务是驱动Java项目构建过程。Ant以其XML为基础的构建文件(build.xml)而闻名,它...
BSF-Skins是一款专为BCB (Borland C++ Builder) 和 Delphi 开发环境设计的皮肤库,它提供了50种不同的皮肤样式,可以让开发者轻松地为他们的应用程序添加美观的用户界面。这款控件集使开发者能够快速地改变应用外观...
《Ant与Apache BSF在Java开发中的应用》 在Java开发过程中,我们常常会遇到构建自动化的需求,这就是Apache Ant(Ant)大显身手的地方。Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。它通过XML来...
标题 "groovy-bsf-2.3.0.zip" 提供的信息表明,这是一个与Groovy语言和BSF(Bean Scripting Framework)相关的开源项目。Groovy是一种基于Java平台的动态编程语言,它扩展了Java的语法,提供了简洁、灵活的语法,...
《Ant Apache BSF 1.7.1:构建自动化与脚本引擎的融合》 Apache Ant,一个由Java编写的开源构建工具,是Java开发者进行项目构建和管理的重要选择。它以其灵活性和可扩展性而著称,允许用户通过XML定义构建任务。...
bsf-2.4.0.jar Jar文件类型:-B Jar运行环境:JDK1.4, JDK1.5, JDK1.6 授权方式:共享软件 更新时间:2008-10-17
bsf-2.4.0-4.1.el6.noarch.rpm是centos工具包。
【标题】"bsf.rar_BusinessSkin_bsdbctrls.h_bsf delp_bsf.rar _skin" 提供的是一款经过修改后适用于C++ Builder的BusinessSkin库,它解决了原版在C++ Builder环境下无法正常安装和运行的问题。BusinessSkin是一个...
使用apache bsf开源项目的一个例子,我也是刚接触到。包含了一些基本的操作。 1.如何调用java方法 2.对调用java方法返回数据进行操作,如循环数组,逻辑判断 本项目用eclipse或myeclipse直接导入即可。
标签:ant-apache-bsf-1.8.1.jar,ant,apache,bsf,1.8.1,jar包下载,依赖包
标签:ant-apache-bsf-1.9.0.jar,ant,apache,bsf,1.9.0,jar包下载,依赖包