看板 java 關於我們 聯絡資訊
今天有爬了版上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
PsMonkey:reflection? 04/19 21:25
感謝板主 \^0^/ ※ 編輯: NullLife 來自: 180.218.154.76 (04/19 21:28)
andymai:getDeclaredMethod、invoke 04/19 21:31
感謝這位版大,我爬文的方法也可以用,我會在斟酌用什麼方法好,感恩。 ※ 編輯: NullLife 來自: 180.218.154.76 (04/19 21:35)
ssccg:你看的資料是eval javascript,可是你想跑的function是java? 04/19 21:38
NullLife:是java的function沒錯 那篇文的方法原來是把整個class 04/19 21:44
NullLife:丟到engine裡 就可以呼叫了 04/19 21:46
※ 編輯: NullLife 來自: 180.218.154.76 (04/19 21:55)
sbrhsieh:可以把Java object放到engine global scope裡,js碼去使用 04/19 21:56
sbrhsieh:或是在javascript碼裡contruct java object來使用。 04/19 21:57
andymai:其實版主說的就是了~我只是直接給關鍵字 XD 04/20 00:01
coolcomm:不能多寫一個 void kerker(int i) 嗎@_@ 04/20 12:24
對不起,我舉例不好QQ 如果說function名稱有邏輯性,但做的內容跟這個邏輯性毫無關係, 就沒辦法傳個參數進去處理,而且...我要呼叫的是人家寫給我的工具, 所以沒有辦法自己去設計 >"< ※ 編輯: NullLife 來自: 180.218.154.76 (04/21 10:03)