簡體   English   中英

帶有 CellEditor 的 Primefaces TreeTable 極慢/凍結

[英]Primefaces TreeTable with CellEditor extreme slow / freeze

即時使用具有 15 列和 12 列的 TreeTable 包含一個單元編輯器。 29 行后,我無法擴展任何其他節點,並且該站點似乎已損壞(沒有按鈕可用)。 刪除一些 cellEditor 后,我可以添加更多行,直到站點再次損壞。 如果我刪除所有 cellEditors 它工作正常。 如果我只添加一些它的工作很好但極慢。 這種行為僅在我的服務器上(使用 tomcat 7 運行 linux),本地一切運行良好。

我正在使用 PF 11.0.4 和 Mojarra 2.3.14。 在 Tomcat 7 和 Tomcat 8 上測試。

這是一個簡單的版本,正如我所說,這只適用於本地

我的xhtml:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>PrimeFaces Test</title>
<h:outputScript name="test.js" />
<h:outputStylesheet name="test.css" />
</h:head>
<h:body>
<h1>#{testView.string}</h1>
<h:form id="frmTest">
    <p:treeTable id="table" var="prozess" editable="true" editMode="cell"
        editInitEvent="dblclick" value="#{testView.root}"
        widgetVar="proTable" emptyMessage="Kein Prozess gefunden"
        scrollHeight="70vh" scrollable="true">
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
        <p:column>
            <p:cellEditor>
                <f:facet name="input">
                    <p:inputText value="#{prozess}" />
                </f:facet>
                <f:facet name="output">
                    <h:outputText value="#{prozess}" />
                </f:facet>
            </p:cellEditor>
        </p:column>
    </p:treeTable>
</h:form>
</h:body>
</html>

我的豆子:

package org.primefaces.test;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.math.BigDecimal;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import javax.inject.Named;

import org.primefaces.model.CheckboxTreeNode;
import org.primefaces.model.DefaultTreeNode;
import org.primefaces.model.TreeNode;
import org.primefaces.model.charts.ChartData;
import org.primefaces.model.charts.donut.DonutChartDataSet;
import org.primefaces.model.charts.donut.DonutChartModel;

import lombok.Data;

@Data
@Named
@ViewScoped
public class TestView implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = -8053071088222244162L;
private String string;
private TreeNode<String> root;

@PostConstruct  
public void init() {
    setString("Welcome to PrimeFaces!!!");
    buildDoc();
}

public void buildDoc(){
    root = new DefaultTreeNode<String>();
    for(int i = 0;i<100;i++){
        DefaultTreeNode<String> noroot = new DefaultTreeNode<String>("Node"+i,root);
        for(int j=0;j<20;j++){
            new DefaultTreeNode<String>("Node"+j,noroot);
        }
    }
}

public String getString() {
    return string;
}

public void setString(String string) {
    this.string = string;
}

/**
 * @return the root
 */
public TreeNode<String> getRoot() {
    return root;
}

/**
 * @param root the root to set
 */
public void setRoot(TreeNode<String> root) {
    this.root = root;
}


}

問題是我的服務器安裝的防火牆,關閉了超過 500 個參數的每個連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM