大家好,在xml文档中取得一段string,比如getVariableData('11111','2222','3333').使用beanshell脚本(test.bsh)设置一个函数,
getVariableData(String variable1,String variable2,String variable3){
return variable1+variable2+variable3;
}在java程序中调用:
inter.source("test.bsh");
inter.set("variable1","1111");
inter.set("variable2","2222");
inter.set("variable3","333");
inter.eval("getVariableData('11111','2222','3333')");
可以得到正确答案.但问题在于我直接取得的string---getVariableData('11111','2222','3333')中就已经包括3个变量的值而不是参数名,在实际调用时非要使用set方法,能不能直接使用
inter.source("test.bsh");
inter.eval("getVariableData('11111','2222','3333')");就得出正确答案呢?目前我试过是会报错的内容是无法找到variable1-3的值.请问各位,如果我有这样的需求该如何用beanshell实现呢?先谢谢了.

解决方案 »

  1.   

    inter.source("test.bsh"); 
    inter.set("variable1","1111"); 
    inter.set("variable2","2222"); 
    inter.set("variable3","333"); 
    inter.eval("getVariableData('11111','2222','3333')"); 
    **********************************
    inter.set("variable1","1111"); 
    inter.set("variable2","2222"); 
    inter.set("variable3","333"); 
    *********************************
    这个可以不要吧 因为你getVariableData(String variable1,String variable2,String variable3){ 
    return variable1+variable2+variable3; 

    中定义了方法的变量要么改为
    getVariableData(){ 
    return variable1+variable2+variable3;
    }
    System.out.println(i.eval("getVariableData()")); rking^_^ 
    36978372
      

  2.   

    在java 中
    inter.source("src/problem/test.bsh");
    inter.set("variable1","1111"); 
    inter.set("variable2","2222"); 
    inter.set("variable3","333"); 
    System.out.println(inter.eval("getVariableData()"));落了^_^