【问题标题】:java servlets response - stay on same pagejava servlet 响应 - 留在同一页面上
【发布时间】:2010-11-01 16:08:00
【问题描述】:

您好,我使用 flash navigateToURL 方法调用 Java servlet。

在某些情况下,我希望 servlet 告诉浏览器客户端保持在同一页面上 - 我该如何实现?如果响应为空,则页面变为空白。

【问题讨论】:

    标签: java html flash servlets


    【解决方案1】:

    我认为您使用了错误的方法来访问 java servlet。如果您需要保持同一个页面打开,navigateToURL 不是您应该使用的。 navigateToURL 方法按照文档:

    在包含 Flash Player 容器(通常是浏览器)的应用程序中打开或替换一个窗口。在 Adob​​e AIR 中,该函数在默认系统 Web 浏览器中打开一个 URL

    你可以使用

    1. 用于调用 servlet 的 Flash Remoting API
    2. HttpService
    3. URLRequest 方法。

    查看链接了解更多详情。

    【讨论】:

      【解决方案2】:

      你不能。 navigateToURL 指示浏览器打开另一个 URL。内容是在浏览器导航更改后获取的。

      您应该在 flex 应用程序中发出 HTTP 请求。可以这样做:

      var req:URLRequest = new URLRequest();
      req.method = URLRequestMethod.POST;
      var vars:URLVariables = new URLVariables();
      vars.param1 = "param1";
      vars.param2 = "param2";
      req.data = vars;
      req.url = "/targetUrl";
      
      var loader:URLLoader = new URLLoader();
      loader.addEventListener(Event.COMPLETE, pageLoadComplete);
      loader.load(req);
      

      然后在pageLoadComplete(event:Event)方法中:

      var result:String = URLLoader(event.currentTarget).data.toString();
      

      建议对仅返回 truefalse 的 URL 进行此类调用,具体取决于您是否需要重定向。

      【讨论】:

      • 问题是 servlet 应该指示浏览器打开“保存对话框”来保存文件——以防万一一切正常。在这种情况下,navigateToURL 对我有好处。如果出现错误,我有问题
      • @Erik ,您不能指示浏览器打开“保存对话框”。如果您使用正确的 mime 发送文件,它将打开保存对话框。如果出现任何错误,请将 mime 更改为文本并返回错误消息。
      • 这正是我所做的 - 我设置了文件的 mimetype,以便浏览器打开保存对话框。不过,我必须使用 navigateToURL,不是吗?
      • @Erik,不要尝试使用 URLRequest 和 FileReference ......它应该可以帮助你
      猜你喜欢
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 2016-07-28
      • 1970-01-01
      • 2015-07-14
      相关资源
      最近更新 更多