显示JSF页面的初始数据后填充数据

显示JSF页面的初始数据后填充数据,jsf,omnifaces,Jsf,Omnifaces,这是关于使用JSF、JPA和Primefaces的JavaEEWeb应用程序 在一个大型JSF页面中,表需要由一个项目列表填充。第一列将项目名称显示为输出标签。第二列有用于记录用户输入的输入文本。第三列显示一个值,该值是在考虑多个因素的情况下计算出来的,并且需要相对较长的时间 我想显示包含前两列数据的页面,但在向用户显示完整页面后,需要填充第三列数据。这是为了尽量减少用户在开始数据输入之前等待的时间。当用户开始看到页面时,需要在数据可用时填充第三列 这可以在JSF中实现吗?如果需要,我可以使用O

这是关于使用JSF、JPA和Primefaces的JavaEEWeb应用程序

在一个大型JSF页面中,表需要由一个项目列表填充。第一列将项目名称显示为输出标签。第二列有用于记录用户输入的输入文本。第三列显示一个值,该值是在考虑多个因素的情况下计算出来的,并且需要相对较长的时间

我想显示包含前两列数据的页面,但在向用户显示完整页面后,需要填充第三列数据。这是为了尽量减少用户在开始数据输入之前等待的时间。当用户开始看到页面时,需要在数据可用时填充第三列

这可以在JSF中实现吗?如果需要,我可以使用OminiPages,但不能使用Spring和Struts等技术

    <table>
        <ui:repeat id="rptItems" 
                   value="#{clientEncounterComponentItemController.items}" 
                   var="ii" >
            <tr>
                <td>
                    <p:outputLabel for="itStC" value="#{ii.name}" ></p:outputLabel>
                </td>
                <td>
                    <p:inputText id="itStC" value="#{ii.shortTextValue}" >
                    </p:inputText>
                </td>
                 <td>
                    <h:panelGroup rendered="#{ii.displayLastResult}" >
                        <p:outputLabel  id="lblResult"  value="#{clientEncounterComponentItemController.findFormsetValue(ii)}" ></p:outputLabel>
                    </h:panelGroup>
                </td>
            </tr>
        </ui:repeat>
    </table>


您可以使用ajax响应来更新“itStc”inputText焦点事件上的“lblResult”标签。在实际开始输入数据之前,用户可以查看大多数“lblResult”标签中的值。例如,由于表中的数据是相互关联的,用户可能无法开始在第三行输入数据,而看不到第五行的结果。您可以通过请求找到页面所需的所有值并一起显示。由于元素很多,而且生成值的算法需要时间,页面显示延迟约15秒。用户不喜欢这样。您是否尝试过延迟加载的p:outputPanel?(每个单元格将产生1个AJAX请求..)