使用JSF加载延迟数据(2.2)

时间:2014-07-20 20:57:25

标签: richfaces jsf-2.2 wildfly-8

如果不使用REST,您将如何使用JSF 2.2加载其他数据(不是类似于表的数据集),如滚动日历?

当用户到达html文档的底部时,应该触发延迟加载。这与jQuery相当简单:

        <script>
        $(window).scroll(function() {
            if($(window).scrollTop() == $(document).height() - $(window).height()) {
                   // retrieve server data: from what service? JSF or REST?
            }
        });
        </script>

但是如何使用JSF 2.2(或Richfaces)检索额外的天数?让我们说......日历还有28天。阅读关于此主题的其他主题,不建议使用JSF。所以,我正确地说,a)应该将JSF配对以创建初始页面,并且b)使用REST作为一种可靠的方法来加载额外的数据,而不是滥用JSF来实现它的目的。

如果我错误地表示,使用JSF在JavaEE(Wildfly,8.1)应用服务器上工作时最好的方法是什么?

由于

1 个答案:

答案 0 :(得分:1)

我发现以下是一种合理的方法,用于发送请求以便使用JSF2 +检索JSON数据,然后使用此数据丰富DOM。即在我的情况下,在滚动日历上加载更多日期。

https://community.jboss.org/wiki/RichFacesCookbookJsFunctionJson

这与JSF2 +和RichFaces有关。毫无疑问,这也可以通过REST资源和jQuery.getJSON()来实现。那也没关系。

但是,如果我被要求反思使用托管bean或CDI bean发送JSON数据,我会同意这是一种滥用行为。因为可以在辅助bean上提供复杂的对象。因此可以发送JSON数据。特别是当我想要将延迟加载的数据与同一个支持bean的其他数据元素连接起来时,我觉得这很有用。例如。为新加入的延迟日期添加新的预留,并将其推送到业务逻辑和持久层。