下载后无法更新组件。回答15745235无效
Unable to update a component after a download. Answer 15745235 does not work
PS:我试过但是没用。
我有一个 p:commandButton
下载文件:
<p:remoteCommand name="stop" update=":myComponentId" />
<p:commandButton
value="download"
ajax="false"
onclick="PrimeFaces.monitorDownload(null, stop)"
>
<p:fileDownload
value="#{myBean.download()}"
/>
</p:commandButton>
不幸的是,尽管有 myBean
更改(我使用调试器看到它),但组件没有更新。我在许多“正常”p:commandButton
的 update
中使用 :myComponentId
没有问题。
我使用的是 Mojarra 2.1.7 和 Primefaces 3.4.1,我无法更新软件:)
我最终使用了一个递归函数,而不是 PrimeFaces.monitorDownload
,它调用 stop()
并检查更新后是否存在应该存在的元素。如果不是,它使用 setTimeout
重新调用自己。一个丑陋的把戏,但它有效。
我希望有人能提供更简洁的解决方案。
PS:我试过但是没用。
我有一个 p:commandButton
下载文件:
<p:remoteCommand name="stop" update=":myComponentId" />
<p:commandButton
value="download"
ajax="false"
onclick="PrimeFaces.monitorDownload(null, stop)"
>
<p:fileDownload
value="#{myBean.download()}"
/>
</p:commandButton>
不幸的是,尽管有 myBean
更改(我使用调试器看到它),但组件没有更新。我在许多“正常”p:commandButton
的 update
中使用 :myComponentId
没有问题。
我使用的是 Mojarra 2.1.7 和 Primefaces 3.4.1,我无法更新软件:)
我最终使用了一个递归函数,而不是 PrimeFaces.monitorDownload
,它调用 stop()
并检查更新后是否存在应该存在的元素。如果不是,它使用 setTimeout
重新调用自己。一个丑陋的把戏,但它有效。
我希望有人能提供更简洁的解决方案。