我正在从事大型 liferay 元素,但遇到以下问题:
每当加载、处理等内容时,我应该将光标更改为等待 gif。使用 Ajax 时很容易,但在很多情况下我不使用它。所以我想也许如果我能捕捉到任何 Action 阶段,我会以某种方式将光标设置为在 Action 方法开始时等待,然后在结束时返回到常规“自动”。
这可能吗?我不喜欢这种“解决方案”,但我想不出更好的方法。目前我的 jsp 中有加载图像的 div,然后由 jquery document.ready() 删除 - 一点都不满意,因为所有处理都已在操作阶段的早期执行。
如果有任何建议,我将不胜感激。
最佳答案
好吧,如果您不使用 Ajax,可能很难实现您想要的。
单击第一页上的链接后,您可以开始显示 throbber(“加载图像”),将其保留在下一页并在 document.ready() 中将其删除。
但是在页面加载期间,您仍然会有几毫秒或几秒没有颤动。
如果处理时间真的很长,您可以执行以下操作: 这个想法是使用线程进行处理。对线程的引用存储在服务器的 session 中。单击链接时:
- 显示加载图像的页面并在线程中开始处理
- 每隔 X 秒轮询一次服务器以检查线程(在 session 中!)是否完成
- 线程完成后,显示结果。
关于java - Liferay - 捕捉 Action 阶段以设置 'waiting' 光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27126415/