作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] javascript取得applet中回传的值
时间Fri Dec 12 22:29:13 2008
ㄜ... 我必需要先说,这篇文章没有违反啥子版规
只是...「我觉得」发问的人应该更替看板的人设想一下
(应该会增加回答问题的机率吧?)
※ 引述《GGsov (GGsov)》之铭言:
: import netscape.javascript.*;
你这边用到了一个 3rd party lib
那麽建议你直接介绍一下这个 lib 要怎麽使用
(或是该 lib 是怎麽教你使用的)
再不然,附上你参考的网址也好
因为你很可能只是误用...
: import java.applet.Applet;
: import javax.swing.JApplet;
: import java.util.regex.Matcher;
: import java.util.regex.Pattern;
虽然没差,不过没有用到的 package 砍一砍吧
: import java.io.*;
: public class aaa extends Applet {
: int aa = 23 ;
: public Integer aMethod() {
: aa++;
: return aa ;
: }
: }
: 这是我用来测试的 执行不了 因为会说没有main 但是javascript却可以抓到aa的值
^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
上面这行很... 奇怪
理论上单纯的 applet 不会有 main(或是说,不会跟 main 扯上关系)
你提到了 main,又说执行不了
很容易让人联想到你是用 java.exe 去「执行」的
反过来说... (请往下)
: 这是网页部分的code
: <html>
: <head><title>aaads</title>
: <applet name=test code="aaa.class" width = "300" height = "450" MAYSCRIPT>
: </applet>
: <script language="javascript">
: var amethod = document.test.aMethod()
: if(amethod==24)
: alert("ok");
: else
: alert("not ok");
: </script>
: </head>
: <BODY>
: </BODY>
: </html>
: 执行网页的结果会跳出警告视窗ok
如果「浏览」该网页,会跳出 javascript 的 alert 视窗
而且还是期望的 "ok"
那麽,基本上 javascript 要去呼叫 applet 的 method,是没有问题的
: ----------------------------------------------------------------
: 这是我实际想要执行的code
: import netscape.javascript.*;
: import java.applet.Applet;
: import javax.swing.JApplet;
: import java.util.regex.Matcher;
: import java.util.regex.Pattern;
: import java.io.*;
: public class test extends Applet{
: int IPindex=0;
: public Integer aMethod() {
: try {
: String cmd = "netstat -n";
: StringBuilder mystring=new StringBuilder();
: Process child = Runtime.getRuntime().exec(cmd);
: // 获得输出
: InputStream child_in = child.getInputStream();
: int c;
: while ((c = child_in.read()) != -1)
: {
: mystring=mystring.append((char)c);
: //System.out.print((char)c);
: }
: int IPindex= mystring.indexOf("140.116.250.3");
: //System.out.println(mystring);
: child_in.close();
: }
: catch (IOException e)
: {
: System.err.println(e);
: }
: return IPindex;
: }
: }
: 当然包成jar档以及金钥的部分都弄好了
: 网页对应的class的档名也有改过 跟上面 的网页是一模一样的
: 但是就是抓不到applet传出去的值
: 能请问到底是哪边出了问题....
: 感谢~
良好的排版是让人想要仔细看你的 code 的一大动力
另外,你没说怎麽个「抓不到」法
(这样讲,不知道能不能动用版规... [茶])
有没有可能根本就是有 exception?
还是 javascript 的程式有问题?
你应该要先描述你(如何)确定哪些部份是 ok 的
(例如那几个 System.out 真的有乖乖吐想要的东西)
撇清一些可能的嫌疑
甚至弄好环境让人家实际测试你的 code
要怎麽收获,先要怎麽栽
想要有人解答,先要替解答的人设想...
当然,还是有可能是那句老话...
因为我比较逊,所以才看不懂这篇文章到底在干麽....
--
战略高手 -- CompScience 组组长 PsMonkey
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.197.3