`

bsh(BeanShell)动态执行java代码

    博客分类:
  • java
bsh 
阅读更多
import java.util.Date;
/**
* BeanShell解释器:亦可嵌入到JAVA源代码中,能动态执行JAVA源代码   bsh-1.3.0.jar
*/
public class IfTest {

public static void main(String[] args) {

Interpreter interpreter = new Interpreter();
  String s = "2>3||3>4&&5<4";
  try {
   //计算表达式
   interpreter.set("boolean", interpreter.eval("(" + s +")"));
   System.out.println(interpreter.get("boolean"));
  
   interpreter.set("foo", 5);                   
   interpreter.set("date", new Date() );
   
   Date date = (Date)interpreter.get("date");
   
   interpreter.eval("bar = foo*10");            
   System.out.println(interpreter.get("bar") );
   
   //interpreter.source("somefile.bsh");
  
   interpreter.eval("for(int i=0; i<3; i++) { System.out.println(\"ni hao!\"); }");
  
   s="1>2";
   Object result=interpreter.eval(s);
   System.out.println(result);
  
   interpreter.eval("import java.text.*;");//引入text
   Object r1=interpreter.eval("SimpleDateFormat.getDateInstance().format(new Date())");//执行SimpleDateFormat类的format()方法
   System.out.println(r1);
  
   Object r2=interpreter.eval("SimpleDateFormat.getDateInstance().format(date)");// 使用date变量
   System.out.println(r2);
  
   interpreter.set("status", "send");
   Object obj = interpreter.eval("status == \"send\" && 1>0");
   System.out.println(obj);
  
  } catch (EvalError e) {
   e.printStackTrace();
  }
}

}
分享到:
评论

相关推荐

    用BeanShell来运行java脚本

    总的来说,BeanShell为Java开发者提供了一种灵活的方式,可以在运行时动态地编写和执行Java代码,这对于快速原型开发、测试、脚本编写和自动化工作流程具有很高的价值。通过理解和熟练使用BeanShell,你可以提升Java...

    java的BeanShell公式执行引擎

    Java的BeanShell是一个轻量级、动态的脚本语言,它是专门为Java平台设计的,允许在运行时执行Java代码或者类似JavaScript的语法。BeanShell在Java应用中常被用来进行快速原型开发、测试以及扩展,它提供了一种简单的...

    Java计算数学表达式的结果的jar包(bsh-2.0b4.jar)

    Java计算数学表达式的结果主要依赖于像bsh(BeanShell)这样的库,BeanShell是一个小型、开源的Java脚本环境,它可以动态执行Java代码并提供一个交互式的解释器。在这个场景中,`bsh-2.0b4.jar` 是BeanShell的一个...

    BeanShell快速入门Java应用.docx

    通过BeanShell,开发者可以在运行时动态执行Java代码,这在调试、脚本编写和应用程序扩展等方面非常有用。 #### 二、安装与配置 1. **下载BeanShell**: - 访问官方网站:`http://beanshell.org/` 下载最新的JAR...

    bsh.rar_Beanshel_beanshell_bsh-2.0b4-src.zip_javascript 解释

    也就是说BeanShell在许多方面对于Java的用处就像Tcl/Tk对于C的用处一样:BeanShell是可嵌入式的---你可以在运行时从你的应用程序调用BeanShell去动态的执行Java代码或是为你的应用程序提供脚本扩展。相反,你也可以...

    BeanShell介绍

    BeanShell是一款轻量级的Java脚本引擎,它允许用户在运行时动态地编写和执行Java代码。作为一个开源项目,BeanShell在IT行业中被广泛应用于快速原型开发、测试、脚本自动化以及教学等场景。其灵活性和易用性是它的一...

    bsh架包以及源码包

    总结一下,"bsh架包以及源码包"为开发者提供了 Beanshell 的核心库和源代码,这是一个强大的Java脚本引擎,可用于动态执行Java代码。通过研究源码,我们可以深入理解其工作原理,学习到动态语言实现、Java反射等相关...

    beanshell.jar

    这两个文件都是 Beanshell 库的不同组成部分,主要用于在Android环境中动态执行Java代码。 Beanshell 是由 Patrick Niemeyer 创建的,它允许开发者以脚本语言的方式使用Java语法,提供了一种灵活的、交互式的Java...

    beanshell-2.0b4.src

    1. **动态执行Java代码**:Beanshell 允许用户在运行时编写和执行Java代码,无需编译过程,提高了开发效率。 2. **脚本环境**:提供了类似Bash或Perl的交互式脚本环境,支持变量、函数、控制结构等。 3. **Java对象...

    BeanShell2.0b5源码

    - **动态执行:** BeanShell 可以在运行时动态解析和执行Java代码,这对于测试、调试和快速原型设计非常有用。 - **脚本支持:** 它支持类似于JavaScript的脚本语法,允许开发者编写简洁的控制流程和表达式。 - *...

    beanshell 源码 jar doc sound

    Beanshell 是一个轻量级的Java脚本引擎,它允许用户在运行时直接执行Java语法的脚本。这个压缩包包含三个重要的组成部分:`bsh-2.0b4.jar`、`bshjavadoc.zip` 和 `beanshell` 文件夹,这些都是与Beanshell相关的资源...

    BeanShell快速入门

    BeanShell 是一个轻量级、动态的Java脚本语言,它允许你在运行时进行交互式地编写和执行Java代码。这个快速入门指南将带你了解BeanShell的基础知识,如何安装、使用以及它在实际开发中的应用。 一、BeanShell 的...

    bsh2.0源码

    bsh(BeanShell)是一个轻量级的、动态的Java语言解释器,它允许在运行时执行Java语法和一些扩展语法的脚本。作为Java开发工具,bsh提供了一个强大的环境,开发者可以快速测试代码片段、原型设计、自动化任务,甚至...

    BeanShell 测试实例

    Beanshell (bsh) 是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。BeanShell执行 标准Java语句和表达式,另外包括一些脚本命令和语法。

    beanshell所需文件

    Beanshell 是一个轻量级的Java脚本引擎,它允许你在运行时执行和修改Java代码。这个引擎使得开发者能够在应用程序中动态地引入脚本功能,进行测试、调试或者扩展程序的行为。在Java环境中,Beanshell 提供了一种简单...

    执行字符串形式对象的方法

    BeanShell是一个基于Java的解释器,它可以解析和执行Java代码片段。这意味着,即使代码是以字符串的形式存在,只要该字符串符合Java语法,BeanShell就能够将其转换为实际的Java行为。这对于动态执行方法或创建临时...

    beanshell学习笔记

    Beanshell 是一个轻量级的Java源代码解释器,它允许开发者通过脚本语言的方式执行Java语句和表达式。由于其小巧的体积(jar文件大小仅为175k), Beanshell 很容易被嵌入到其他Java应用程序中,提供动态的脚本支持。...

    beanShell范例

    Beanshell是用Java写成的,... BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。它将脚本化对象看作简单闭包方法(simple method closure)来支持。可以自动对类调用。本例是一个对于公式的解析范例。

    通过spring用beanshell实现java接口示例

    Beanshell与Java语法高度兼容,可以直接执行Java代码,并且提供了更简单的语法糖,方便快速编写脚本。 在Spring框架中,从2.5版本开始,引入了对脚本语言的支持,包括Ruby、Groovy和Beanshell。通过Spring的...

Global site tag (gtag.js) - Google Analytics