[問題] 想請問如何用eval呼叫function

看板java作者 (默耘)時間11年前 (2013/04/19 20:52), 編輯推噓1(108)
留言9則, 6人參與, 最新討論串1/1
今天有爬了版上eval的文章,有試著玩了一下 可是發現它利用JavaScript去做完成字串執行指令這個動作, 有稍微估狗了一下如何呼叫function, 爬到的是將function寫進去scrip,再去執行... 可是我想要執行的是我jar檔裡的function啊啊啊~ 例如我現在有兩個function private void kerker1() { System.out.println("I'm kerker1"); } private void kerker2() { System.out.println("I'm kerker2"); } 因為function名有規律性存在,所以想寫個迴圈去跑就好,不用寫的落落長, 就類似是... for (int i = 1 ; i <= 2; i++) { xxx.eval("ker" + i + "()"); } 就能幫我呼叫ker1()跟ker2()... 不曉得有沒有人知道該怎麼寫,感激不盡<(_ _)> 剛剛爬到一篇文 http://ppt.cc/BweE 我把code貼過來玩,可是我javax.script.*似乎缺ExecuteScript@@? 我沒辦法建立這個物件耶... 耍笨了...= =" 這篇文可以用,也感謝推文,我也來去爬文看看,感恩!! -- 所以想著昨天期待明天 我卻活在這兩者的中間 現實的問題那麼討厭 可是不得不面對 和平獎的禮物是金錢 領導運動獲得了地位 黃玠 矛與盾的故事不斷上演 到底什麼才是對 相片收集簿 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.218.154.76

04/19 21:25, , 1F
reflection?
04/19 21:25, 1F
感謝板主 \^0^/ ※ 編輯: NullLife 來自: 180.218.154.76 (04/19 21:28)

04/19 21:31, , 2F
getDeclaredMethod、invoke
04/19 21:31, 2F
感謝這位版大,我爬文的方法也可以用,我會在斟酌用什麼方法好,感恩。 ※ 編輯: NullLife 來自: 180.218.154.76 (04/19 21:35)

04/19 21:38, , 3F
你看的資料是eval javascript,可是你想跑的function是java?
04/19 21:38, 3F

04/19 21:44, , 4F
是java的function沒錯 那篇文的方法原來是把整個class
04/19 21:44, 4F

04/19 21:46, , 5F
丟到engine裡 就可以呼叫了
04/19 21:46, 5F
※ 編輯: NullLife 來自: 180.218.154.76 (04/19 21:55)

04/19 21:56, , 6F
可以把Java object放到engine global scope裡,js碼去使用
04/19 21:56, 6F

04/19 21:57, , 7F
或是在javascript碼裡contruct java object來使用。
04/19 21:57, 7F

04/20 00:01, , 8F
其實版主說的就是了~我只是直接給關鍵字 XD
04/20 00:01, 8F

04/20 12:24, , 9F
不能多寫一個 void kerker(int i) 嗎@_@
04/20 12:24, 9F
對不起,我舉例不好QQ 如果說function名稱有邏輯性,但做的內容跟這個邏輯性毫無關係, 就沒辦法傳個參數進去處理,而且...我要呼叫的是人家寫給我的工具, 所以沒有辦法自己去設計 >"< ※ 編輯: NullLife 來自: 180.218.154.76 (04/21 10:03)
文章代碼(AID): #1HSJuCCa (java)