1

如果不使用 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)应用程序服务器上工作时最好的方法是什么?

谢谢

4

1 回答 1

1

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

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

这适用于 JSF2+ 和 RichFaces。毫无疑问,这也可以通过 REST 资源和jQuery.getJSON()来实现。那也很好。

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

于 2014-07-21T09:23:54.833 回答