Servlets Swing小程序JDialog结果到wicket页面

Servlets Swing小程序JDialog结果到wicket页面,servlets,applet,wicket,Servlets,Applet,Wicket,我从wicket页面调用包含html的小程序,根据小程序的JDialaog确认,我需要返回wicket页面,如果用户不确认他只需要留在小程序中 我知道wicket中的setResponsePage可以调用html,但只有当用户从AppletsJDialog确认时,它才需要被引导。基本上需要从小程序调用wicket页面,我试图在小程序URL中设置参数,但不知何故,我的getAppetContext()返回null。您有几个选项。我认为最好的方法是使用ajax 设计如下: WicketPage -

我从wicket页面调用包含html的小程序,根据小程序的JDialaog确认,我需要返回wicket页面,如果用户不确认他只需要留在小程序中


我知道wicket中的setResponsePage可以调用html,但只有当用户从AppletsJDialog确认时,它才需要被引导。基本上需要从小程序调用wicket页面,我试图在小程序URL中设置参数,但不知何故,我的getAppetContext()返回null。

您有几个选项。我认为最好的方法是使用ajax

设计如下:

  • WicketPage
    --javascript
    --java小程序
您有一个呈现javascript的
AbstractAjaxBehavior
,它反过来呈现Java小程序

将behavhiour的
getCallbackUrl()
传递给
javascript
函数。这可以在
abstractajaxbehavior
usign a
response.render(OnDomReadyHeaderItem.forScript(js))的
renderheadhead()中完成

您可以从
Applet
调用
javascript
。因此,当确认完成后,小程序将调用一些javascript函数,这些函数反过来调用
Wicket.ajax.get

这个
Wicket.ajax.get
可以使用behavior中的
callbackUrl
,您最终再次进入服务器端
Java
,位于
ajaxbehavior的
onRequest
主体中

另见以下参考资料:


1)为了更快地获得更好的帮助,请发布一个(最简单、完整、可验证的示例)或(简短、完整、正确的示例)。2) 为什么要编写小程序?如果是老师指定的,请参考。不幸的是,我不得不使用小程序,因为这是我的佳能相机在不安装任何软件的情况下响应的唯一方式,我需要将照片批准结果0(来自JDialog)拍摄到wicket页面。如果photo retake jdialog confirmation为我获取1个值,这样我就可以留在小程序中。“不幸的是,我不得不使用小程序,因为这是我的佳能相机在不安装任何软件的情况下做出响应的唯一方式”小程序正在安装软件(伴随着所有由此产生的麻烦,还有一些),所以这句话对我来说毫无意义。我遇到过很多小程序的麻烦,我知道不能使用,但在我的情况下,没有选择。如果你知道如何将小程序参数传递到wicket end,我会很高兴。“但在我的情况下,没有选择。”选择一个不需要小程序的其他网络摄像头/软件。真的,我怀疑有任何工具会说“必须连接到applet”。不,我不会浪费任何时间尝试让这个(小程序)工作。感谢Rob的回复,我找到了另一种使用URL的方法,在我的场景中相对容易,解决了小程序上下文问题,可以使用showDocument在URL中发布,但感谢您的设计选项。
try {
                                if(appletCtx != null){
                                    camera.endLiveView();
                                    camera.closeSession();
                                    CanonCamera.close();
                                    getAppletContext().showDocument(new URL(LOCAL_URI+"?wicket:bookmarkablePage=%3Acom.xyz.app.tla.wickola.page.takingViewingPictures.UploadEmployeePhotoPage"),"_parent");
                                    System.exit( 0 ); // a separate jvm for my photo applet
                                }
                            } catch (MalformedURLException e) {
                                e.printStackTrace();
                            }