也许这个标题并不准确,但问题就在这里。我正在做一些 JSF 项目,我需要以下内容:
当用户登录我的应用程序时(即当他导航到主页时),需要调用一个从互联网和/或数据库获取一些货币汇率的方法。该方法的执行(页面解析、数据保存等)持续大约 5-6 秒。我不希望从登录到主页的导航持续 5-6 秒,我希望其中之一(尚未决定哪一个)发生:
1)当用户登录时,他会看到主页(立即,而不是在 5-6 秒后),并且能够在方法在后台运行时单击和/或导航。
2)当用户登录时,他(立即)看到主页,页面的一部分有一些加载标志,在执行方法后,他看到带有汇率的dataTable。
问题是,如何做到这一点?如果我将该方法放在 HomePageBean 构造函数中,则在执行方法之前不会显示页面。也许我可以在主页上放置一些不可见的元素并在一些 Getter 中调用该方法,但我不知道这是否是正确的方法(似乎是 hack)或者它是否真的有效。
我正在使用 JSF 2.0 和 Primefaces。提前致谢