如何将RESTful服务的结果传递给JSF组件?我读了很多帖子,但找不到一个简单的方法。尽可能使用RESTful API是我的应用程序的主要要求。性能也是一个关键,因为成千上万的数据元素将在一天内处理。如果我在JSF中找不到解决方案,我可能不得不切换到另一种技术。如何将RESTful API与JSF的结果集成在一起?
因此,我要求如果我从其他帖子中完全错过了某些内容,因为我是新手。这里有几个简单的场景。
在JSF页面上,有一个数据表(基于Primefaces复选框的选择)。数据表显示可用记录(最多可达数千)。数据表需要通过RESTful api进行即时加载。以下是我的数据表的代码。
<p:dataTable id="addSampleTable" var="sample" value="#{testBean.sampleDataModel}"
selection="#{testBean.selectedSamples}" >
<p:column selectionMode="multiple" style="width:2%" />
<p:column headerText="Sample">
<h:outputText value="#{sample.name}" />
</p:column>
</p:dataTable>
什么是加载数据的最佳方式?如果每次我必须从服务器端调用API(与使用jQuery和纯HTML的客户端相反),是否会有性能问题?
第二种情况,在同一页面上,还有一个按钮,允许用户通过另一个RESTful api添加新记录。反过来,新添加的记录应显示在数据表中。
在我调用RESTful API插入记录之后,api也会返回创建的记录。如何将这条新记录插入到我的数据模型#{testBean.sampleDataModel}中,以便我不必再次加载整个表格?我想我可以用纯html替换这个数据表,并使用jQuery将新记录追加到表中,但是我无法利用JSF中的选择表。
我有什么选择?