【问题标题】:Wicket - container not repainted / feedback message not shown in combination with a download (AjaxLink)Wicket - 容器未重绘/反馈消息未与下载结合显示 (AjaxLink)
【发布时间】:2014-12-01 15:13:58
【问题描述】:

我正在使用 AjaxLink,在它的 onClick() 方法中,我正在做以下事情:

  1. 开始下载(getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler("http://" + url "));)
  2. 显示反馈消息(下载开始...)
  3. 更新 ListView(添加文本)
  4. 将包含反馈面板和 ListView 的容器 (div) 添加到目标:(target.add(...);)

所以,最初发生的唯一事情是显示下载对话框,我可以将其保存到我的磁盘中。但是没有显示反馈信息,内容保持不变(应该更新)。

但是如果我按 F5,页面会重新加载,并且会显示反馈消息并更新内容。但是我想直接展示出来。

另一方面:如果我从 onClick 方法中删除下载调用 (getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler("http://" + url "));),它就可以工作。 因此,不会触发下载,但会显示反馈消息并更新内容。

那么,我该如何处理呢?重定向/下载似乎导致了问题。

我正在使用检票口 6。

编辑: 例如,使用 RandomStringUtils 计算 url... getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler("http://" + url + "/test/" + randomString + "/download")); 所以我需要 java / wicket 来做这些事情。

【问题讨论】:

    标签: ajax download wicket feedback


    【解决方案1】:

    您不能在提供文件内容的同时发送 Ajax 响应:

    https://cwiki.apache.org/confluence/display/WICKET/AJAX+update+and+file+download+in+one+blow

    【讨论】:

    • target.appendJavaScript("setTimeout(\"window.location.href='" + url + "'\", 1000);"); 为我解决了问题。谢谢你指点我。
    猜你喜欢
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多