[英]return statement inside applet method which is called from javascript
我的情况就像我从返回值是布尔值的javascript调用applet API一样,但是我无法从该方法获取布尔值响应。
让我说说那个方法里面发生了什么
从js控件转到小程序方法abc()
在abc()方法内部,我正在调用servlet,该servlet在服务器端进行一些处理并返回响应,而我没有遇到任何问题。
之后,我正在做一些常规的Java东西,并尝试返回true或false
我没有在javascript中收到此响应
注意:这点可能有助于找出问题所在
1.我的小程序实现了可运行的界面,该界面用于显示确认对话框,以使用由Swing组件开发的代码,在某些情况下此代码并非每次触发。
我使用的servlet返回json响应让我知道是否需要任何详细信息
我在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.