Primefaces 3.3.1选项列表性能很慢

时间:2012-07-06 16:38:21

标签: jsf jsf-2 primefaces

我最近将我的primefaces-project更新为新版本的primefaces。

所有内容似乎都运行良好但单击“添加全部”按钮时选项列表非常慢。我在列表中有一个庞大的数据集(大约130个项目)。此问题也在此forum post中进行了描述。

更新 一个非常基本的例子应该证明这个问题:

<p:pickList value="#{testForm.dualList}"
            var="id"
            itemLabel="#{id}"
            itemValue="#{id}" />

表单(在会话范围内):

@Component("testForm")
@Scope("session")
public class TestForm implements Serializable {
     private DualListModel<Integer> dualList;
     //getter & setter methods
}

创建DualListModel的方法:

prepareForm() {
    List<Integer> source = Lists.newLinkedList();
    List<Integer> target = Lists.newLinkedList();
    //add 100 integers as source:
    for(int i = 0; i <= 99; i++) {
       source.add(i);
    }

    DualListModel<Integer> model = new DualListModel<Integer>(source, target);
    testForm.setDualList(model);
}

我能做些什么来加快速度吗?

2 个答案:

答案 0 :(得分:1)

这似乎是primefaces-version中的一个错误。我在primefaces论坛上发现了一些关于这个主题的帖子。

我已经实施了自己的选项列表,现在一切正常。

答案 1 :(得分:0)

根据您在此处发布的代码数量,我无法告诉您确切的问题。但根据您的意见,我可以建议您:

  • 检查同一表单中的必填字段是否阻止提交。
  • 不要使用嵌套表格
  • 确保您的ajax请求序列(actionListener,action,onclick ...等)
  • 确保您的代码写得很好并且有意义。因为如果你的代码导致错误,你有时会注意到primefaces组件中的奇怪行为(不会触发,不会更新)。

希望这可以帮到你。