Liferay portlet:简单的沙漏或旋转轮或进度条示例

时间:2015-04-16 08:48:31

标签: jsp liferay progress-bar

为了证明正在进行的漫长过程,我需要展示一个简单的示例,在我点击JSP页面中表单的提交按钮后,在JSP上放置沙漏或进度条或类似动画,我正在等待流程操作阶段的结束才能显示下一个JSP页面。

一个例子是Liferay在点击提交表单时显示的一小部分,这会掩盖JSP。

这与将文件上传到服务器无关。

这是一个简单的例子,展示了一个等待漫长过程阶段结束的事情。

提前谢谢!

Ivano C.

2 个答案:

答案 0 :(得分:0)

您可以使用aui实现进度条:

Progress Bar

答案 1 :(得分:0)

确保您的liferay-portlet.xml具有正确的ajaxablerender-weight配置集。 Check the DTD - 这是一段摘录:

<!--
The default value of render-weight is 1. If set to a value less than 1, the
portlet is rendered in parallel. If set to a value of 1 or greater, then the
portlet is rendered serially. Portlets with a greater render weight have greater
priority and will be rendered before portlets with a lower render weight.

If the ajaxable value is set to false, then render-weight is always set to 1
if it is set to a value less than 1. This means ajaxable can override
render-weight if ajaxable is set to false.
-->
<!ELEMENT render-weight (#PCDATA)>

<!--
The default value of ajaxable is true. If set to false, then this portlet can
never be displayed via Ajax.
-->
<!ELEMENT ajaxable (#PCDATA)>

有了这个,你的portlet可能需要多长时间,但是整个页面已经交付 - 只是你的长时间运行的portlet正在显示一个微调器,直到它实际异步加载。

通过将Thread.sleep(5000)添加到portlet的view.jsp(带有适当的异常样板)来检查这一点

(这也是Liferay的股票RSS portlet所使用的:如果它获取慢速RSS源,它也会异步运行。你可能会在那里体验它,第一手资料)