【问题标题】:Primefaces 3.3.1 picklist performance is slowPrimefaces 3.3.1 选项列表性能很慢
【发布时间】:2012-07-06 16:38:21
【问题描述】:

我最近将我的 primefaces 项目更新为新版本的 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);
}

有什么办法可以让它更快吗?

【问题讨论】:

  • 您的意思是在您的旧 primefaces 版本中它运行良好,并且在您更新到新版本后会变慢?
  • 3.3.1 似乎不是 3.3 的发布尝试。或者使用旧的。
  • @LaChamelle 我正在使用 3.3.1,它工作正常
  • @fareed 它似乎与许多物品一起使用。房客发布您的代码。可能是你每次计算你的列表或其他东西。
  • 我将代码添加到问题中。 @fareed 是的,旧版本的 primefaces 一切正常。

标签: jsf jsf-2 primefaces


【解决方案1】:

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

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

【讨论】:

  • 您好,您愿意与社区分享您的选择列表,例如 PrimeFaces 的补丁吗?
【解决方案2】:

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

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

希望对您有所帮助。

【讨论】:

  • 我用一个非常基本的例子更新了这个问题(没有转换器,只是简单的整数值)来演示这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 2016-07-16
  • 2019-03-22
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多