繁体   English   中英

从javascript调用的applet方法内部的return语句

[英]return statement inside applet method which is called from javascript

我的情况就像我从返回值是布尔值的javascript调用applet API一样,但是我无法从该方法获取布尔值响应。

让我说说那个方法里面发生了什么

  1. 从js控件转到小程序方法abc()

  2. 在abc()方法内部,我正在调用servlet,该servlet在服务器端进行一些处理并返回响应,而我没有遇到任何问题。

  3. 之后,我正在做一些常规的Java东西,并尝试返回true或false

  4. 我没有在javascript中收到此响应

注意:这点可能有助于找出问题所在

1.我的小程序实现了可运行的界面,该界面用于显示确认对话框,以使用由Swing组件开发的代码,在某些情况下此代码并非每次触发。

  1. 我使用的servlet返回json响应让我知道是否需要任何详细信息

  2. 我在foreach中使用以下功能

     function abc() { var status = printerApplet.startBulkPersoProcessing(a, b, c); alert("Is it coming here:::"); alert(status); } 

我们无论做什么都不会打印此状态。

首先,您应该确保像下面这样声明小程序:

<APPLET code="MyApplet.class" height="0" id="myApplet" name="myApplet"
                                    archive="/path/to/MyApplet.jar"></APPLET>

之后,从JS调用MyApplet,如下所示:

function callMyAppletFromJS() {
            alert("callMyAppletFromJS");
                document.getElementById('myApplet').jsAppletCall();
      }

在您的applet中,将JS如下调用:

public void jsAppletCall() {
      //       do you java stuff here 
      // then 
      // call the javascript from the applet using the JSOBject 
              JSObject win = JSObject.getWindow(this);
              win.eval("callJSFromMyAppletMessage();");
     }

和从applet调用的JS函数,如下所示:

function callJSFromMyAppletMessage() {
     alert("callJSFromMyAppletMessage");
      }

因此,从applet调用JS的方法是使用JSObject ,请在此处查看JSObject的文档,因为它描述了此类的用法。

就像@Hemant提到的一样,请查看这里的oracle教程关于这个主题。

注意 :但是请注意,如果您是从JS调用小程序,即使它的已签名小程序也将被视为未签名小程序,请在此处查看oracle文档。

希望对您有所帮助。

您可以使用Java的JSObject回调在HTML视图中定义的JS函数。

这是处理异步函数调用的便捷方法之一。

有关JSObject实现的更多信息...

http://docs.oracle.com/javase/tutorial/deployment/applet/invokingJavaScriptFromApplet.html

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM