2

在 JSF 页面中,我有一个输入框和一个建议框。通常,当我将文本输入:

h:inputText

建议框将开始显示建议的结果,这是正确的。
但是,问题是,如果我输入文本时的请求需要很长时间才能得到响应,则根本不会显示建议框。
我使用萤火虫,如果请求需要 > 1.5 秒,建议将失败。1.5 秒后,我仍然看到响应,并显示正确的建议结果,但是没有刷新。

可能是什么原因?在我的 Web 应用程序中,还有许多其他的东西运行时间更长并且可以成功刷新。

我使用 Richfaces 3.3.3

UPDATE1:添加更多,如果请求需要 1.59 秒,建议出现,然后立即淡出

UPDATE2:我通过提出建议和输入解决了这个问题

a4j:region

但是,我仍然不明白为什么。

4

2 回答 2

1

suggestionBoxRichFaces的组件有一个timeout属性,它定义:

特定请求的响应等待时间。如果在此期间未收到响应,则中止请求

您可以尝试增加超时值并测试它是否可以解决您的问题。

请注意,您可以timeout使用a4j:queue.

注意:由于没有指定,我检查了 RichFaces 3.x,但应该有与 RichFaces 4.x 类似的东西。

于 2013-08-20T09:46:45.313 回答
0

如果您使用的是 Richfaces 4.x,我认为问题可能出在 Richfaces 建议框中。当我从 Richfaces 3 升级到第 4 版时,建议框出现了很多问题。它只是没有出现在复杂的页面上。最后,我用 JQuery UI sugetionbox 和一些用于加载建议的 Spring MVC 控制器替换了 Richfaces 建议框。

如果您使用的是 Richfaces 4.3.x 并且使用 JQuery UI 作为建议框不是一个选项,您可以尝试降级到 Richfaces 4.2.x。我记得当我做这个建议时,页面上开始出现,但是在这个地方你可能会遇到 Richfaces 的其他问题。

于 2013-08-20T09:55:56.397 回答