return 从 javascript 调用的 applet 方法中的语句

return statement inside applet method which is called from javascript

我的场景就像我从 java 脚本调用小程序 API,其 return 语句是布尔值,但我无法从该方法获得布尔值响应。

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

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

  2. 在 abc() 方法中,我正在调用 servlet,它在服务器端执行一些处理,returns 响应我没有任何问题。

  3. 之后我会做一些常规的 java 事情并尝试 return 真或假

  4. 我在 java脚本

  5. 中没有收到此响应

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

1.My小程序实现runnable接口,用于显示确认对话框使用swing组件开发,此代码部分场景触发。

  1. 我使用 returns json 响应的 servlet 如果您需要任何详细信息,请告诉我

  2. 我在 foreach 中使用以下函数

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

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

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

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

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

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

希望对您有所帮助!

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

<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();
      }

在你的小程序中像下面这样调用 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();");
     }

以及要从小程序调用的 JS 函数,如下所示:

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

所以从小程序调用 JS 的方法是使用 JSObject ,请查看 JSObject 的文档 here 因为它描述了这个 class.

同样如@Hemant 所述,请查看有关此主题的 oracle 教程 here

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

希望对您有所帮助。