jsf datatable 数据太多导致内存溢出

我用jsf的 p:datatable datatable 的明细行中又有一个下拉框,下拉框中绑定的list有8000条数据,datatable 总共检索有180多条数据每条数据都有一个8000条数据的下拉框,当全部输出时就会内存溢出,我尝试减少到10条,就能正常显示,但是页面特别卡,
不知有何好的解决办法。
我想着 在页面上定义一个隐藏控件,把那8000 条数据存进去,然后当每个下拉框触发的时候在把数据放到下拉框的list中,这样页面的数据量就会骤减,问题也就能解决了。这只是猜想,不知道能不能实现。

各味大神有没有遇到的,下周三就要交任务了,还是没有头绪啊!

http://www.bubuko.com/infodetail-1605492.html

最近查阅资料,通过添加DataTable缓存的方式解决了此问题,在此回答,希望能帮到有用的朋友。
在DataTable 中添加 scrollRows="5" liveScroll="true" 两个属性 scrollRows="5" 就是指当画面加载时,只加载5行的数据,等到需要用到的时候再动态的加载。liveScroll="true"是让动态加载设置为可用的!

 <p:dataTable id="edtDetail"
                value="#{gtsm150fController.viewModel.viewModelDetail.listModelDetail}"
                var="edt" scrollRows="5" liveScroll="true"
                selection="#{gtsm150fController.viewModel.viewModelDetail.selectd}"
                resizableColumns="true" rowKey="#{edt.rowKey}" scrollable="true"
                scrollHeight="125" rowIndexVar="rowIndex"
                emptyMessage="#{messages['common.emptyMessage']}"
                paginatorPosition="bottom">