【问题标题】:return statement inside applet method which is called from javascript从javascript调用的applet方法中的return语句
【发布时间】:2015-03-17 03:07:40
【问题描述】:

我的场景就像我从返回语句为布尔值的 javascript 调用 applet API,但我无法从该方法获得布尔响应。

让我告诉你该方法内部发生了什么

  1. 从js控制到applet方法abc()

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

  3. 在此之后,我正在做一些常规的 java 工作并尝试返回 true 或 false

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

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

1.我的小程序实现了runnable接口,用于显示确认对话框,使用swing组件开发,此代码在某些场景下触发不是每个。

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

  2. 我在 foreach 中使用下面的函数

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

无论我们做什么,这个状态都不会被打印出来。

【问题讨论】:

  • 请分享您如何将响应从 applet 返回到 jaavascript
  • 这是由于我试图弄清楚如何解决这个问题。
  • 请在此处发布一些代码,以便我们为您提供帮助

标签: java javascript swing servlets applet


【解决方案1】:

首先你应该确保你声明你的小程序如下:

<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,请查看文档 here 中的 JSObject,因为它描述了此类的用途。

正如@Hemant 提到的,请查看oracle 教程here 关于这个主题。

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

希望有所帮助。

【讨论】:

  • 是的,我同意你的看法。感谢您的帮助,我的问题得到了解决。这是一些代码问题。
  • 出了什么问题? ,如果正确则接受答案
  • 您的解释非常有帮助,谢谢,我接受了答案。
【解决方案2】:

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

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

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

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

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 2015-09-21
    • 2013-04-10
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 2015-07-12
    相关资源
    最近更新 更多