2010-02-08 65 views
0

我需要參數傳遞到通過參數傳遞到遠程的BeanShell

java -cp bsh-2.0b4.jar bsh.Remote http://10.0.0.1/beanshell script.bsh p1 p2 p3 

調用運行遠程 BeanShell的腳本。

是否可以從script.bsh內讀取參數'p1','p2'和'p3'?

p.s.通過bsh.args的本地參數可以正常工作,但對遠程腳本無法使用。

回答

0

我想,你正在使用beanshell庫。根據消息來源說,沒有辦法這樣做:該實用程序只接受2個參數:URL和本地腳本文件名。它甚至不支持幾個腳本文件名,正如它聲稱的那樣。

public class Remote 
{ 
    public static void main(String args[]) throws Exception 
    { 
      if (args.length < 2) { 
        System.out.println("usage: Remote URL(http|bsh) file [ file ] ... "); 
        System.exit(1); 
      } 
      String url = args[0]; 
      String text = getFile(args[1]); 
      int ret = eval(url, text); 
      System.exit(ret); 
    } 

另外服務器端應該知道傳遞的參數。

的方式爲你:

  1. 創建腳本模板,在其中將取代參數爲腳本和替代腳本保存到臨時目錄傳遞給bsh.Remote
  2. 之前創建一個遠程文件,腳本可以從中讀取參數。在致電bsh.Remote之前,您需要與遠程站點進行額外的通信以上載此文件。