在做工作流時需要用到條件判斷,比如開始條件,結束條件,轉移條件,這些條件如果用java代碼來寫會比較方便
通過bsh可以對java代碼片段進行解析得到結果
bsh不僅僅能處理簡單的邏輯表達式,一些合法的java代碼片段都能處理,比如一些方法的聲明類的聲明,有待于研究
可以從 http://www.beanshell.org 下載最新的jar包,就一個jar包加入到你的classpath下就可以使用了。測試代碼:
1 package org.wanghc.test;
2
3 import bsh.EvalError;
4 import bsh.Interpreter;
5
6 /**
7 * bsh測試,bsh可以解析java代碼,可用于流程中規則的一些邏輯判斷
8 * 或者我們寫一些偽碼:
9 * 比如
10 * a==1 and b=="c" or c>d
11 *
12 * @author wanghc
13 * @created 2007-5-12
14 */
15 public class BshTest {
16
17 /**
18 * @param args
19 */
20 public static void main(String[] args) {
21 // TODO Auto-generated method stub
22 Interpreter bsh = new Interpreter();
23 try {
24 bsh.set("orderStatus", "send");
25 Object obj = bsh.eval("orderStatus == \"send\" && 1>0");
26
27 System.out.println(obj);
28 } catch (EvalError e) {
29 // TODO Auto-generated catch block
30 e.printStackTrace();
31 }
32 }
33
34 }
35