Bean Scripting Framework (BSF) is a set of Java classes which provides scripting language support within Java applications, and access to Java objects and methods from scripting languages. BSF allows one to write JSPs in languages other than Java while providing access to the Java class library. In addition, BSF permits any Java application to be implemented in part (or dynamically extended) by a language that is embedded within it. This is achieved by providing an API that permits calling scripting language engines from within Java, as well as an object registry that exposes Java objects to these scripting language engines.
BSF 2.x supports several scripting languages currently:
- NetRexx (an extension of the IBM REXX scripting language in Java)
- Commons JEXL
- Python (using Jython)
- Tcl (using Jacl)
- XSLT Stylesheets (as a component of Apache XML project’s Xalan and Xerces)
In addition, the following languages are supported with their own BSF engines:
- Java (using BeanShell, from the BeanShell project)
- Groovy Monkey
- JLog (PROLOG implemented in Java)
- ooRexx (Open Object Rexx), using BSF4ooRexx.
Information on where to obtain scripting languages for use with BSF is available on the Related Projects page.